text:
Why are there square artifacts in my render?
Im working on a new Anime/Toon Material for all of my characters for a short film type thing. The main issue is that when I render I get these squares in the render that I don't see on the preview, or in cycles .
I want it too look like this and this is what the render preview look like

How do I fix this? here's the file
http://www.pasteall.org/blend/42587
The problem seems to be withe the solidify modifier but i need the "line" Effect and don't want to use blender freestyle as I can't get a good preview of the look without constant rendering, witch really messes with my workflow.

The reason for discrepancy are different settings for preview and render of the Multires modifier.
From manual:

Preview
      Set the level of subdivisions to show in the 3D View.
Sculpt
      Set the number of subdivisions to use in Sculpt Mode.
Render
      Set the number of subdivisions to show when rendering.

In your file, Render option is set to 1, and thus it uses the first level of subdivision when rendering image.

On this level mesh becomes more bumpy and with rough sides, which reflect the light you see on the rendered image.
It is not visible in 3D Viewport because Preview is set to 2, which makes mesh smoother only for previewing it in the viewport.
See related answers:
Object appears smoothed after rendering but not in viewport - specific case with Multires modifier.
Cycles viewport render different than f12 render? - general things to consider when preview and render results differ.

It looks Better, but im still getting small squares under the arm's. Looks near the left armpit withe the light set to sun or point.

@Steven I didn't see any real difference between rendered image and preview render except for normal differences in antialiasing which is what will differ in any way. You could look at technical differences between them


text:
Ist there any easy way to link smoke simulations?
I am making an animation that will be reusing a lot of attacks i will make with the smoke simulator. Is there a way to make it (the Smoke simulated attack) in its own file then use it multiple times in other projects?
When I group the Domain and emitter and link it, I don't always get the whole animation, Also i can't seem to move it.
I could just render it then alph overlay it, but i want the 3d Volume of the the smoke in some situations.

source: Stack Exchange

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

sort: votes


text:
how to disable auto smoothing by default in 2.74
when I import an obj file, by default auto smoothing is enabled. Is it possible to change this option as in the old realises?

you do you mean smooth shading or the Smooth Groups option in the Obj importer panel?

I mean the option in object data panel/normal/auto smoothing

You cannot (well, not from UI or other 'user-land' ways). Note however that 'autosmooth' here is a bit of a weak name, since it actually means you are using (custom) normals as defined by the .obj, instead of auto-computed ones by Blender…
Now, if you really want to disable that by default, you'll have to open addons/io_scene_obj/import.py in your Blender installation, search for me.use_auto_smooth = True (should be around line 657 currently), and replace it by me.use_auto_smooth = False (or just comment it by adding a # in front of that line).
But again, don’t think you want to do that, at least I do not see why you would…

I just want have possibility to choose when using smooth or flat mode, depending on the kind of geometry, as in the old realises. Thank you

Replace the two files (init and import ) in the /2.74/scripts/addons/io_scene_obj/ with these init.py and import_obj.py restart blender and you'll have the option for auto smooth in the importer settings ( a check box )

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


text:
pro lighting skies does not work properly on blender 2.81
I hope this is the right place to put my problem.
Perhaps due to the new node mapping, the advanced features of this addon do not work on blender 2.81. For example it is impossible to change the horizon level.
I bought a copy a few years ago and have already written to Blenderguru twice without getting an answer. Do you have any advice?
thanks

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


text:
Paint directly on model or redo UV unwrap for new faces
I'm new to Blender and not a 3D designer. I'm a photogrammetrist.
I have a very complex mesh that I created with photogrammetry. I used Blender to repair the mesh in places where it did not generate good connections. I'd like to now go back and paint the fixed surfaces with texture I've pulled from the photos.

The problem is, since I've added new faces, the UV map is scrambled and overlapping my new faces with old texture. It applies the wrong textures to the faces.

Is there a way (inside or outside of Blender) that I can just paint my texture onto the surfaces or unwrap the new faces without destroying the existing texture?

You can unwrap untextured mesh parts and position them in empty areas on UV map. On the other hand that should be fixed in your photogrammetry software by assigning colors to vertices in the fixed areas.


text:
Cloth simulation - Object won't touch obstacles
I am trying to drop a piece of clothing onto various objects, but it won't touch them and remains hanging a couple of inches above. The repel setting is set to 0. Any ideas?

what about collision distance

Distance: 0.001, Repel distance: 0.001

what about other objects settings  " face thickness - outer "

Is the scale of objects applied? Not sure but it can help. BTW, please give us more details about your settings (add screenshots).

OMG, it was indeed the outer thickness set to 0.01 - which is the default I guess. It's working fine now, thanks guys for your help.  p.s. Just wondering if anyone else gets so utterly stuck on silly stuff like this.


text:
Access bpy.data in Blender addon
I was getting the error

AttributeError: '_RestrictContext' object has no attribute...

with my addon (in Blender 2.72), then I found that access to bpy.context and bpy.data is restricted in addon code, as explained here
http://wiki.blender.org/index.php/Extensions:2.6/Py/API_Changes#Restricted_Context
Instead of using bpy.context, I can use the context parameter of execute() and invoke(). But what can I use instead of bpy.data?

I have solved this by moving the  data access outside the register() function

I have no access to bpy.data in register(), only in functions called by invoke() and execute(). I get the error when using the operator defined by the addon.

the restriction is in un/register() only,  can you put a link to your code

My mistake, I actually had an access to bpy.data before register(), in "from bpy import data as D" at the beginning of my code. I removed that and now it works. Thank you!


text:
I can't find the "Surface" option
I need some help finding a function within blender 2.74 which is "Surface", since in a tutorial I'm using the advanced cartoon eye rig, unitedfilmdom clicks on the world option within the right hand menu and then changes some aspects to it.
Here is the tutorial in question: https://cgcookie.com/blender/lessons/4-materials2
Is this simply not an option for me because I'm using amd and not nvidia or is it something else?
Its supposed to be in here:

I assume you have the Cycles rneder engine enabled in the top header?

You are using default Blender Render engine instead of Cycles Render engine.
To get the Surface option in the World tab you need to switch from Blender Render to Cycles Render on the top of the Blender screen.

How to change this permanently for all future projects?

@Paul maybe try to setup your startup-file, and than save your altered file as startupfile?

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


text:
Using a particle system to fill up a container
I want to use a particle system to fill a container. The particles are solid objects and not liquid. I just want a container to look like it was filled naturally, and not like a grid. It would be quicker to set up a particle system to do this than to manipulate tons of separate meshes individually. I'm not sure if this can be done in blender, but any help with this would be nice. I also need this to work with the cycles rendering engine.

why couldn't you just use a rigid body simulation?

Possible duplicate: http://blender.stackexchange.com/q/5213/599

Thank you, I didn't find that post, gandalf3. That solves my problem


text:
Need my character's hands to move independently from HIPS bone
I'm animating a character and at some point I need his hands to move independently from the hips bone (as to say: not following the hips bone when I move it).
Is it possible to add a setting to the IK rig that could let me switch from having the two bones connected and not having them whenever I need?
Hoping have made myself clear!

If your IK hands are parented to the hip bone (as I understand it) and you want to turn this relationship on/off, you need to make this with Child_Of constraint and animate it's influence.

@Jerryno. Thanks. Can you explain this in other way? I try to move one shoe from MakeHuman model.


text:
How can I make the hands stopping at the ground level?
I'm animating a person who kneels and puts his hands on the ground but I don't know how to make the hands stopping at the ground level (the hands, since they are parented to the chest, follow its movement)
Could somebody help me?
Hope I've made myself clear!

there's floor constraint did you try it ?

Just tried and it works! Thank you, I didn't know about it.

@Chebhou may you answer this? we're up to 89%!


text:
cloth modifier on a t-shirt
I've tried to apply a cloth modifier on a t-shirt so that it could fit properly on the body and followed its movements. The problem is that the t-shirt appears to be shaken by some wind, even if there isn't any force field enabled. Does anybody have any advice to give me?
Hope I made my self clear!

If the model the t-shirt is on is moving and a collision object, I'm going to guess the movement isn't wind, but the effect of the momentum of previous movements staying in the system. I'd suggest posting your cloth settings, but I'm guessing you need to look specifically at the "damping setting" on the right side of the cloth settings

I fixed the problem, thank you. Now I got another one: in my animation there's a girl who goes on her knees quite fast. As soon as she starts going down, the body trespass the clothes which keep descending but much slower than the body and without following it.

The settings you'll want to look at for that is the collision distance and quality of the collision (which is like a resolution for collision detection).  Increasing collision quality will increase simulation time.
I've also submitted the above comment as an answer. If that is what  helped you, please accept it as the answer -- thanks.

If the model the t-shirt is on is moving and a collision object, I'm going to guess the movement isn't wind, but the effect of the momentum of previous movements staying in the system. I'd suggest posting your cloth settings, but I'm guessing you need to look specifically at the "damping setting" on the right side of the cloth settings.


text:
Time remapping of a single action
I have two questions:
1) I need to time remap one single action (from 24 f/s to 8). Is there any way I can do it without time remapping the entire scene (which is already set to 8 f/s)?
2) I noticed that when I do the time remapping of an already animated scene, it doesn't affect the timeline's display. What's annoying about this is that key-framing is almost impossible. Is there any way to change timeline's display?

For part (i) have a look at http://blender.stackexchange.com/questions/38558/controlling-speed-of-an-action-by-driver-or-scripting/38570#38570


text:
How can I translate an object along its local axis using a script?
I have a cube.
The cube's Z rotation is 45 degrees.
If I press G X X, I can move the object along its local X axis.
How can I do this with a Python script?

I found the answer here.
  import bpy
  from mathutils import Vector, Matrix

  ...

  trans_local = Vector((0.0, 32.0, 0.0))
  trans_world = obj.matrix_world.to_3x3() * trans_local
  obj.matrix_world.translation += trans_world

or simply obj.location += Vector( (32, 0, 0) )

@lemon - That's giving me a much different result. Are you sure that that works for local translation?

You are right : I have badly read the question

Blender 2.8: Use @instead of * for the matrix multiplication.


text:
Mesh Transformation with rig?
I have a new project i'm working on that involves a lot of character transformations, I was wondering the best way to go about this as a blender apprentice, I've gotten pretty good with armatures, mesh creating, shape keys, and some physics. Im wondering is there a way to make a rigged armature transform in to a similar rigged armature. Like a human arm transforming into a monster arm, on the same body. I feel like shape keys might be the way, but how does that incorporate armatures and color/ texture changes?
http://static.giantbomb.com/uploads/original/13/132031/2025184-sc5_nightmare.jpg
Nightmare's (from soul calibur) arms is what the end product will be similar to, and from a normal human arm.

An example.  Lets pretend the monster is more muscular than the human.
In general any mesh shape change is fair game
Some 3D armature bones control organic bone rotations.  Other 3D bones control more organic muscular mesh transformations.  There are big muscles such as thighs and smaller muscles in the face.
Armature.  Bones that are not moved on the bicep for a human can be moved for the monster to create a larger bicep.  This bone would not be involved in arm rotation and perhaps not connected.  Perhaps a child of the upper arm bone.
A lattice can be used to create a larger bicep for the monster.
Since facial features can be controlled by bones.  Exaggerated positions may be useful.  Please search facial feature rigs.
Displacement textures to create non smooth skin.
Use a [custom property] (value on the object) float number ... which varies from 0.0 to 0.5 to 1.0. This custom property can have a keyframe.
Using the custom property with a Blender Python driver to control values of colors and location.  0.0 might indicate human. 1.0 might indicate monster. 0.5 will be the mix of human and monster.  Morph.
Using the custom property blend the skin from some human color to monster color such as green or purple.  Or blend some monster skin texture.
Shape Keys.  Keep in mind bones have a natural sense of rotation.  Shape keys in their primitive state do not.  The more shape keys, the smoother the transition, the more work to coordinate shape keys.
For extreme mesh changes such as monster horns keep in mind that extra mesh vertices can create smoothing problems for the human.  Consider using two meshes and the convenient blinding light flash or image transparency blending.  Such cheap slight of image.  Two meshes can share an armature.  Not trivial.

1.Would you recommend starting with the distorted(monster) mesh then going to the normal or the opposite?                                                             2. Also how well will sculpting translate from one to the other?                                                             3. Just to make sure i understand you right, It would behove me make 1 normal mesh, then 1 separate mesh for each transformation type?  (I.E- Don't make one mesh with all the transformations.)?

I suggest you do a simple example with obvious to observe transformations.  Two Meshes.  Perhaps one disconnected monster Hand and one Human hand.  If arm is covered by clothing, the hand morph is subject to less scrutiny.  Create your morph/transformation. Blend the planning with  Trial and Error.  Repeat the Cycle.  Put you monster/human hand morph here for progress.


text:
Which external renderer should I use for architectural visualization?
I use Blender mainly for creating architectural renders. I love Cycles, it's nodes, quality, realism, everything about it, except for it's speed and noise.
An indoor night-time scene with a lot of small light-sources seemed almost impossible, somehow I've managed to do it but I had to pull all kinds of node-tricks to get a relative low-noise render and still lasted 5 hours per image (1800x1200) on a mid-high range GPU to get acceptable results.
Is there an alternative render engine for arch-viz? It doesn't have to be completely free, but has to work on GPU, should be well-integrated into Blender, node-based engines are preferred. Cycles would be perfect without the noise.
Thanks for any input, and sorry for asking but I have no time to try all the existing external renderers, since there are so many of them now.
Cheers!

You would choose a raytracer that has features that are required for architecture projects.
An example is YafaRay. YafaRay supports features like Global Illumination and Background Illumination which are specifically useful for architecture visualization.
Cycles has Global Illumination (since a few years ago) and I am not sure that it has as good Background Illumination as YafaRay.
YafaRay is distributed with an open license and you can use for free. It is designed to be used with Blender.

Thanks, after reading about it, looks like it has potential, and actually is a great engine, but looks far from complete in terms of features and development pretty much stopped.

@galingong what features were you thinking of? Development has been slow, but that's mostly because Yafaray is already quite advanced. The Yafaray devs don't want to reimplement LuxRender, so they'll leave the algorithmic wizardry to those guys.


text:
Freestyle Noise Modifier Animation
I've started getting into Freestyle, and found that for a rough, sketchy look, the spatial noise or perlin noise modifier under Geometry tab works great, however when I animate things, these modifiers noise source also gets animated (as noises normally do, they get randomly calculated every frame) - and so the outline of the animation changes from frame to frame.
Is there any way or workaround to stop this and have a consistent outline for my objects?

Since the freestyle is calculated in screen-space (I think), I don't think you can force the noise to stay the same when objects move. But on my PC it isn't recalculated every frame. If I have an animation with a stationary object, the noise lines stay the same.

As I answered in this thread:
Does anyone know how to make my 3d model's outline look like a boiling line animation effect? like Ed, Edd n Eddy
You can control the noise with a seed, and if you repeat the seed, you also repeat the noise. That is, noise is actually deterministic and for the same inputs you will get the same outputs. Problem is, if for example an object is scaled, you now change one of the inputs. It wouldn't even make sense to expect the noise for a now different (2D) shape to be the same - it's like expecting two chains to have the same shape, when one of the chains is longer...
Gorgious makes a reasonable guess, but I think this render proves it's a wrong guess:

Clarification: I removed every 2nd frame from the animation to show that the noise isn't random.
Shape keys
Here you can see a cube that has all vertices but 2 scale towards its origin. The edge that doesn't scale also doesn't animate noise for the most part of the animation. Eventually, the edge created by internal triangulation of the top face crosses the freestyle edge and makes the renderer divide it into multiple segments:

Rotation
Here you can see a default 32 segments sphere rotating by 360° around Z axis for 32 frames with linear interpolation, effectively producing the same geometry on each frame:

The noise is changing, but not for each edge on each frame, for example, the middle edge doesn't change when E1 passes through it. Sometimes the noise is reused, because apparently the input stays the same. I tried to deal with it by making the triangulation consistent, as well as duplicating the sphere and shrinkwrapping onto the one that doesn't rotate to make sure the vertices stay at the same spots (otherwise applying the transformation matrix could introduce some floating point inaccuracies), but still get this erratic behavior:

I even decided to remove the object rotation and just rotate vertices and then resort them (and I left the shrinkwrap to make sure the vertices are at the same positions):
import bpy, bmesh
from bpy import data as D

def main(C):
    for i in range(1, 33):
        C.scene.frame_set(i)
        dg = C.evaluated_depsgraph_get()
        bm = bmesh.new()
        bm.from_object(D.objects['Sphere'], dg)
        name = f"Frame{i}"
        me = D.meshes.new(name)
        bm.to_mesh(me)
        new_ob = D.objects.new(name, me)
        C.scene.collection.objects.link(new_ob)
        C.view_layer.objects.active = new_ob
        bpy.ops.object.mode_set(mode='EDIT')
        # I'm not sure if old position is used in sorting, so I'm sorting by two axes
        # probably not necessary and only one is needed
        bpy.ops.mesh.sort_elements(type='VIEW_ZAXIS', elements={'VERT', 'EDGE', 'FACE'})
        bpy.ops.mesh.sort_elements(type='VIEW_XAXIS', elements={'VERT', 'EDGE', 'FACE'})
        bpy.ops.object.mode_set(mode='OBJECT')
        new_ob.data.materials.append(D.materials['Material.001'])

        for frame, hidden in zip([i-1, i+1, i], [1, 1, 0]):
            for attr in ('hide_render', 'hide_viewport'):
                setattr(new_ob, attr, hidden)
                new_ob.keyframe_insert(data_path=attr, frame=frame)

class SimpleOperator(bpy.types.Operator):
    """Evaluate the object for each frame"""
    bl_idname = "object.eval_frames"
    bl_label = "Eval Frames"

    @classmethod
    def poll(cls, context):
        return True

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

def menu_func(self, context):
    self.layout.operator(SimpleOperator.bl_idname, text=SimpleOperator.bl_label)

# Register and add to the "object" menu (required to also use F3 search "Simple Object Operator" for quick access)
def register():
    bpy.utils.register_class(SimpleOperator)
    bpy.types.VIEW3D_MT_object.append(menu_func)

def unregister():
    bpy.utils.unregister_class(SimpleOperator)
    bpy.types.VIEW3D_MT_object.remove(menu_func)

if __name__ == "__main__":
    register()

But still no dice:

Applying the shrinkwrap before sorting, removing the material, removing the UV map, and naming each rendered object frame (the same name, as random per object is based on the name) didn't help either.
So in general I wouldn't go for trying to produce consistent noise in an animated object using freestyle.

Interesting! My question was regarding how to avoid this effect. For me, it seems that Freestyle is automatically generating random noise even if the objects are staying still.

I'm also interested to learn how the noise can be kept static if the objects are moving.

I just build myself a proof of concept using Geonodes instead of Freestyle, but of course that has its limitations.

@AnsonSavage see edit.

Okay, very interesting! I'll try that out!!

This is fine, until, say, the cube rotates, and line-lengths change? The Noise doesn't have a 3D existence?

@RobinBetts sure, it's a postprocess effect. As I said, how would you even think about the noise remaining the same if the line lengths change?

@RobinBetts BTW, the way LineArt works might make it easy, I don't know if it supports noise?

Yeah, similarly, it seems to only be working in the case of when the object moves parallel to the camera's image plane.

@AnsonSavage I didn't test, but I imagine it can also approach the camera and scale down, or move away and scale up, or just move at any angle to any kind of camera but deform in such a way that the apparent shape remains constant. Maybe even the apparent shape's lines can rotate, as long as their lengths remain constant.

I did test, but it moving toward and away from the camera does change the noise (I'm assuming it has to do with the edge lengths changing in screen space.)

In regards to the UV Sphere tests, perhaps the UV seams change the internal order of vertices...

Hey, great effort on your answer! I'm very impressed. :)


text:
Video not showing
I add video files to the video editor,  Both audio and video channels appear but only the audio plays.  The video is just a white box.  Anyone know what is wrong.  Added video in WMV.  Also tried MP4 same thing.

some people have attributed this to outdated video card drivers, or blender versions  in the past, can you give any more information? This seems to happen only in a rare number of cases, therefore the solution is not very well defined.

I have the latest blender version.  I watched several online tutorials on how to add video and I am following all the steps as far as I can see.  Not sure what else I can provide.

Hey @Matt, how large is the video, let me try on my end.

All I want to do is blur out a license plate in a video.  Haha.  All this just for that.  I tried "Wax" video editor but of course when i go to apply the blur effect an error pops up.  Cant win.

178mb is the video size

I'm not sure, never experienced this issue before. Try a build from builder.blender.org or graphicall.org or on another os if you have it.

I already had a graphics cards driver problem with Blender. The developers helped me out to find out whether the problem is one with the driver.
You should use the opengl32.dll from http://download.blender.org/ftp/sergey/softwaregl/ and place it next to blender.exe as described by sergey to find out if the problem is your driver. Beware, that Blender might be very slow while using this wrapper dll as everything is done on CPU only without using your graphics card.

Related: http://blender.stackexchange.com/a/46769/2843


text:
Jump actuator not working
I am trying to create a game. My charaters other motions work like wasd stuff but jump doesnt work, yet it has the jump button shaded dark so please help

possibly related: http://blender.stackexchange.com/questions/26960/how-to-create-a-realistic-jump-in-bge?rq=1

The "jump button shaded" suggests that you have selected "character motion", and clicked the "jump" option, but this doesn't mean your man jumps. All the "jump" button does is specifies the way the character moves.
Yours looks like this.

Needs to look like this. (see the z.3?)

Make sure to set your physics type to "character", then you can easily controll jump height, step hight, ... in the physics-tab. Also you don't need to add a "z-movement" in the Motion-Actuator, this is all controlled by the Physics-Tab.


text:
Blender Render, can't render a background
I am new to blender, and I just finished my first low poly scene. I would like to add a night sky background, but when I click render, the sky disappears.
Is there a way to render my scene with the background? I have the Sky option checked in the 'Shading' tab as well as in the Render Layer.

Please clarify.  "I click" please elaborate.  Are you using Blender Render or Cycles render?

Assuming Blender Render
Blender has background which can appear in the render.  With the camera selected and shading panel verify that alpha has sky selected.
Under the layers tab you must have Sky selected as well


text:
Lock camera on an axis?
How do I lock the camera on an axis in Blender? For example I want the camera to not rotate at all, but only slide perfectly parallel to X or Y axis. This way I can check if one of my objects is centred or not to the parent object.

The camera or the viewport?

Oh I meant viewport. Like how to snap to a particular axis?

Use numpad, Num 1, Num 3 and Num 7. Use Ctrl to invert

To align the viewport to a specific axis you can use the Numpad:

Y axis - Numpad 1
X axis - Numpad 3
Z axis - Numpad 7

You can use the Ctrl key in conjunction with these keys to invert the direction you are looking along the axis. To move along a certain axis while preserving your viewport orientation:

To move along the Z axis - hold Shift while scrolling.
To move along the X or Y axis - hold Ctrl while scrolling.
To zoom along the X or Y axis - scroll.

If you have a fourth mouse button I strongly recommend binding it to translate directly, much easier to not accidentallyrotate then imo. I need to look up how to do that in blender natively though; I did mine with autohotkey back before 2.5. (mouse5 is zoom selected, default num period i think, for me.)

You can lock the rotation of your camera by locking the rotation axes in the transform panel.
For moving your camera on a local axe you can press 'G' and 'X' twice to move on the local X axe of your camera


text:
Is there a way to make blender using slerp on quaternions?
I'm now working on a blender importer addon.
I have managed to import models and animations extracted from some game into blender successfully. The pose looks perfect most of the time, but at some frame, when rotation is interpolated by blender, the pose suddenly looks very weird.
keyframe and the interpolated result:

I have tried to solve the problem:

calculate the the interploated rotation by SLERP
set and insert it as a new keyframe, then everything looks great

Of course I can calculate every frame by hand, and import all those as keyframes, but that's not what I want to do.
I see that blender python api has a way to do SLERP (mathutils.Quaternion.slerp), so, does blender have some builtin support for slerp ?


text:
How to constrain resizing in blender?
When I am scaling two or more vertices, they scale so quickly that I am not able to control properly how much I want to scale. Any way to control this function?

hold shift while scaling to minimize the effect

does that solve your problem ?

No, the effect didn't minimize. It is still the same.

No. moving is not a problem. Scaling is. The object just becomes REALLY big really quickly.

If I use the scale button, then the object scales fine. But if I use the scale manipulator, then it scales very quickly.

To minimize the scaling process ( or any transformation ) hold Shift after pressing S or after holding the manipulator handle.
When you are trying to make the object smaller make sure to place your mouse cursor as far as possible to have a space to move it inward ( and vice versa ), this may be problem with manipulator as it is relatively small and don't leave much room for movement inward for this you can try resizing the manipulator from User_Preferences➩Interface➩Manipulator➩Size :


text:
Clarifying Blender skeleton animation and OpenGL
I'm looking into implememting skeleton animations. I use Blender to create the armatures, export them using the IQM file format (Inter Quake Model).
My first steps are to make sure that I'm getting the right values in my openGL application.
I created a very basic model in blender:

When I print the local matrix of the root bone in Blender I see:
>>> bpy.data.armatures[0].bones[0].matrix_local

Matrix(((1.0, 0.0,  0.0, 0.0),
        (0.0, 0.0, -1.0, 0.0),
        (0.0, 1.0,  0.0, 0.0),
        (0.0, 0.0,  0.0, 1.0)))

Which seems to be a 90º rotation around the X-axis.
Why does the matrix_local of this particular bone given me a 90º rotation around the X-axis?
Another question I have is, when I convert this matrix to a quaternion in Blender,
I get (0.7071068286895752, 0.7071068286895752, 0.0, 0.0)
(w,x,y,z). Though when I create my own quaternion with a 90º rotation around X, I also get (0.707107, 0.707107, 0.000000, 0.000000) (wxyz), though when I convert that back to a matrix using my own math lib, I get:
1.00,  0.00,  0.00,  0.00
0.00,  0.00,  1.00,  0.00
0.00, -1.00,  0.00,  0.00
0.00,  0.00,  0.00,  1.00

It would be great if someone could clarify this a bit!
Thanks

@SixthOfFour if it was related to Z-up instead of Y-up it doesn't explain why the bone has an rotation in the first place right?

@SixthOfFour, good catch with the axis thing but it looks like it could be that Y and Z are reversed.   I'd first try to multiply both of them both by -1.0.  before swizzling anything.  You should be able to diagnose if Y and Z need to be swapped by rotating the root bone by 20 degrees along one of those axis.  Right now with both of them at (+/- 1.0) it's hard to tell.

@MarcClintDion Thanks for your coment, but instead of trying out different things I want to understand why I'm getting these values.

What I meant is that from looking at the resulting Transform Matrix it looks as if the Y and Z axis both need to be multiplied by -1.0.  There is no common standard in 3D graphics for which direction an axis should point towards regarding positive and negative.  Swizzling is when you convert position.xyz to something like position.xzy(this has an effect similar to a 90 rotation of the grid system) but often it's also necessary to multiply one or more of the axis' by -1.0 to reverse their direction in regards to positive/negative.

@SixthOfFour You're doing well for only having been at it for a short time.

Y up and Z towards me is the GPU manufacture's standard for OpenGL/GLSL.  My experience has been that for 3D graphics programs that started around the 90's, it is really hit and miss when it comes to axis convention.  Packages made in the past few years are more likely to use the GPU convention.  For normal maps baked with Blender Internal, I just swap Y and Z and multiply them both by -1.0 in the shader.  For the models, I rotate the entire scene by 90 degrees after I establish the projection matrix.  It saves me from the confusion and hassle of altering the mesh plus normals maps.

I figured out what the rotations mean. In blender meshes/vertices etc.. are in a space with Z-up. Armatures/bones are in Y-up. A bone, aligns with the Y axis, from head to tail. So to align the bone with my mesh, blender needs to rotate it 90º around X, which makes sense now.  Thanks everyone for their input.

A rotation matrix tells you what to do with the components of a vector indicating the position of a point.  For a rotation around X, a vector along X does not change.  At 90 degrees, a vector along Y becomes a vector along Z, and a Z vector becomes -Y.  Rotation about X causes Z and Y to intermingle.
The fourth row/column do not matter - that is an artifact of doing 3D geometry in projective coordinates. We sometimes call it 'w' and normally just set it to 1.0 and leave it there.  The thing being rotated is a vector representing a direction or position.
The rotation matrix does the rotating.  Generally, it intermingles components in a two-dimensional subspace, and leaves a one dimension subspace, the axis of rotation, alone.

Quaternions, in contrast, are better thought of (sometimes) as the thing being rotated. No, not rotated, but "acted upon".   For quaternions act a bit odd.
The First Quirky Principle of Quaternions is that if we want to deal with a rotation of (theta) degrees, we work on the quaternion by half that angle.
The Second Quirky Principle: instead of having three components like a vector, we add a fourth, conventionally called 'W'. We may call it the "scalar component".  All four components are involved when we "act upon" the quaternion in a way corresponding to some rotation.  I've taken to calling this action "Spotation" for "Spinor Rotation" - in quantum physics, we use "spinors" which amount to the same thing as quaternions.
Consider a rotation about X, as before.  The Y and Z components intermingle, as with a vector, but at half the rotation angle. That is, a 90 degree X rotation which would swap Y and Z (minus signs as appropriate) for a vector, will look like a 45 degree rotation has acted upon the Y and Z components of a quaternion.  (Does Blender S.E allow LaTeX?)
Y' = 1/sqrt(2) Y - 1/sqrt(2) Z
Z' = 1/sqrt(2) Y + 1/sqrt(2) Z

But according to the second quirky principle of quaternions, the "spotation" action intermingles the scalar 'W' component and the X component in a similar manner.
W' = 1/sqrt(2) W - 1/sqrt(2) X
X' = 1/sqrt(2) W + 1/sqrt(2) X

The exact algebraic rules for doing this were invented by Hamilton in the late 19th Century.
Generally, a rotation about any axis A will correspond to a "spotation" about the same axis A, but while a given vector that happens to be parallel to A will remain unaffected by the rotation, the corresponding spotation acting on a quaternion whose vector part is along A, will be affected.
We can relate quaternions to rotations by starting off with a quaternion which is pure scalar, that is,  w,x,y,z = 1,0,0,0.   Then some rotation R about some axis A by angle (theta) will act on the quaternion by converting the W component, being the only nonzero component, into a scalar + vector parallel to A.

Note that one consequence of the Two Quirky Principles of Quaternions is that a 180 degree rotation about any axis, which will just negate any vector perpendicular to the axis of rotation, corresponds to a spotation which looks like a 90 degree rotation. If the axis is along X Y or Z, it cleanly trades (with minus signs as needed) between W, Z, Y or Z.   This is a key point to why interpolation of orientation works so nicely with quaternions, as discovered by Ken Shoemake in the 1980s.  Negation of a vector does not offer any natural way to find a half-way point, but quaternions provide that nice hint.
Another interesting consequence is that a 360 rotation, easily confused with "no operation", corresponds to a 180 degree spotation - negation of all four components of the spinor. I mean, quaternion.  Two different quaternions describe the same orientation of an object.  That sometimes leads to some problems when animating spinning, tumbling, rolling objects, but easily fixed by flipping the sign of a quaternion somewhere in the timeline.
This also describes the strange antics of quantum particles such as electrons. As a theoretical physicist, I could blabber on and on about how all this arises from deep and beautiful mathematical relations between the rotation group in three dimensions, SO(3), and its double-covering group SU(2), and elegant math using "multivectors", and more, but that's getting off-topic for this site...
(Note: "Quirky Principles of Quaternions" is a phrase I made up on the spot just now, to avoid dealing with any real math. You won't find it in any textbook.)


text:
Writing an exporter - learning the API
I'm researching the Blender API while working on a custom
exporter. The features I want to implement are similar to the
IQM exporter. I'm trying to get a better understanding of
some of the API calls used in the IQM exporter.
1. Calculating Tangents
IQM calculates the tangents using the code below. Why not use Mesh.calc_tangents() instead?
def calcTangents(self):
    # See "Tangent Space Calculation" at http://www.terathon.com/code/tangent.html
    for v in self.verts:
        v.tangent = mathutils.Vector((0.0, 0.0, 0.0))
        v.bitangent = mathutils.Vector((0.0, 0.0, 0.0))
    for (v0, v1, v2) in self.tris:
        dco1 = v1.coord - v0.coord
        dco2 = v2.coord - v0.coord
        duv1 = v1.uv - v0.uv
        duv2 = v2.uv - v0.uv
        tangent = dco2*duv1.y - dco1*duv2.y
        bitangent = dco2*duv1.x - dco1*duv2.x
        if dco2.cross(dco1).dot(bitangent.cross(tangent)) < 0:
            tangent.negate()
            bitangent.negate()
        v0.tangent += tangent
        v1.tangent += tangent
        v2.tangent += tangent
        v0.bitangent += bitangent
        v1.bitangent += bitangent
        v2.bitangent += bitangent
    for v in self.verts:
        v.tangent = v.tangent - v.normal*v.tangent.dot(v.normal)
        v.tangent.normalize()
        if v.normal.cross(v.tangent).dot(v.bitangent) < 0:
            v.bitangent = -1.0
        else:
            v.bitangent = 1.0
   # ...

2. Converting the selected object(s) to mesh.
The collectMeshes() function loops over the selected objects
and when the selected object is not a obj.type == 'MESH' is
skips the object.  Next it converts the object into a mesh. Why
would you convert an obj with the MESH type using
obj.to_mesh()? Isn't an object of type MESH already an
MESH ?
# ...
def collectMeshes(context, bones, scale, matfun, useskel = True, usecol = False, filetype = 'IQM'):
    vertwarn = []
    objs = context.selected_objects #context.scene.objects
    meshes = []
    for obj in objs:
        if obj.type == 'MESH':
            data = obj.to_mesh(context.scene, False, 'PREVIEW')
            if not data.polygons:
                continue
# ....

3. calc_split_normals()
Still in the collectMeshes() function, the script calls
obj.calc_normals_split. The documentation says Calculate
split vertex normals, which preserve sharp edges. The
description is pretty clear, but I'm curious why this function is
used in the first place; could this have a deeper reason? Why not
use the default normals instead? The call is made here in the
exporter.
# ...
if not data.polygons:
    continue
data.calc_normals_split()
coordmatrix = obj.matrix_world
normalmatrix = coordmatrix.inverted().transposed()
# ...

4. what's the purpose of this line?
Continuing in collectMeshes I see the if() as shown below:
# ...
if all([ data.vertices[i].co == data.vertices[face.vertices[0]].co for i in face.vertices[1:] ]):
    continue
# ...

What is the purpose of this line. Am I correct to say that it
checks if the vertices of the face are already stored in
data.vertices? And if so, it skips this vertex?
5. Getting the vertices and triangles
A big chunk of the collectMeshes() function deals with
gathering the vertices and indices.  It seems that the IQM
exporter creates a new Mesh instance per material; it does this
by creating a key from obj.name, matindex and a matfun(). I'm not
100% of my understanding of the code is correct tbh.
Once it has created a new Mesh instance or retrieved an existing one,
it loops over face.loop_indices. The documentation says the following
about a loop: reference a single vertex and edge. Therefore iterating
over the face.loop_indices and then retrieving the specific loop can be
used to retrieve the different vertex coordinate, uv, normal, etc.
Is this a correct understanding of how one would retrieve vertex data?
The IQM exporter iterates over data.polygons like this:
for face in data.polygons:
    if len(face.vertices) < 3:
        continue

    if all([ data.vertices[i].co == data.vertices[face.vertices[0]].co for i in face.vertices[1:] ]):
        print("Already exists", face.vertices[0].co)
        continue

    uvface = uvfaces and uvfaces[face.index]
    material = os.path.basename(uvface.image.filepath) if uvface and uvface.image else ''
    matindex = face.material_index

    try:
        mesh = materials[obj.name, matindex, material]
    except:
        try:
            matprefix = (data.materials and data.materials[matindex].name) or ''
        except:
            matprefix = ''

        mesh = Mesh(obj.name, matfun(matprefix, material), data.vertices)
        meshes.append(mesh)
        materials[obj.name, matindex, material] = mesh

    verts = mesh.verts
    vertmap = mesh.vertmap
    faceverts = []
    for loopidx in face.loop_indices:
        loop = data.loops[loopidx]
        v = data.vertices[loop.vertex_index]
        vertco = coordmatrix * v.co

6. Storing the triangle indices
The last thing that collectMeshes() does is storing the triangles. The length
of faceverts is 4 in most cases. It's looping over the vertices of the current
face, starting at 2 and basically selecting only index 0, 1, 2. Why is index 3
ignored? (it's clear that they change winding order too). See the specific line of the IQM exporter.
for i in range(2, len(faceverts)):
    mesh.tris.append((faceverts[0], faceverts[i], faceverts[i-1]))

Hi. Please only ask one question at a time. You are welcome to ask multiple questions but as separate posts.


text:
How can I properly import this .OBJ file?
I'm encountering a problem with the following .OBJ. It is a rip-off of the Destiny Islands world in Kingdom Hearts. Here is the link:
http://www.models-resource.com/psp/khbirthbysleep/model/2856/
I am in Blender Game and using the latest version of Blender from the official website.
When I try to import it, I immediately notice that there went something wrong: The leafs on the trees have white borders around them, the sand near the water doesn't load correctly. Here is a screenshot from within Blender:

When I test the game, everything looks even worse: the texture order gets messed up; the texture under the bridge appears above it, etc. It looks really weird. I don't know how to fix it. Maybe there is something wrong with the .OBJ or is there an import mode that fixes this problem?
Thanks in advance and please excuse my bad English.
Thomas

The trees use alpha maps, and you can see these inside the 3d view, It is meant to be like that until you apply materials.
I'm not sure if this is the case but if it is then this may help. For the water there are 3 things I could think of:

The.OBJ is so big, that when you zoom out you can't see the water since the 3d view cannot trace that far back. So try zooming into the water.
Try removing doubles by pressing T in the 3D View, and on the left you should see remove doubles button. Also try and recalculate normals, which is right under remove doubles.
Since the model is ripped, the model just might be clipped and the person who ripped it might not have gotten all the water polys.
Select the water and try and move it upwards, from the image it looks like it's colliding with the sand instead of being above it.

Thanks, I'll try that. I will give the result in a minute.

Nope, removing doubles and recalcullating normals didn't help.

Ok , select the water and try and move it upwards , from the image it looks like its colliding with the sand instead of being above it

I found out what the problem with the water is. There simply is no water on the sand. As you said, it is colliding with the sand, but it is unconnected to the visible water.

Sweet , i have edited the answer with the solution , Please check it so people know we have resolved the problem :)


text:
Fluid won't bake
I have a simple scene set up, with a fluid object, a domain and an obstacle. When I press bake, nothing happens at all - there's no indicator that it's doing anything and nothing changes in the scene itself.
I've tried recalculating normals, increasing and decreasing the resolution and exporting the animated mesh, but nothing works.
Here's the blend file.

Hi. Could you upload the .blend to BlendExchange instead of pasteall? .blends uploaded to pasteall get removed after a few months, making some questions that use it useless after the .blend gets removed. Blend Exchange doesn't remove the .blends so they can easily be accessed by people looking much later.

For the life of my I don't know why, but to get it to bake you need to make your domain more like a cube. Scaling it along the z axis until it was about as tall as it is wide worked for me.

Thanks - I made everything a bit smaller and it did it for me. Do you know why the fluid doesn't interact with the obstacle?

@ayoungpythoner I hadn't noticed that, sorry. I really have no idea. The entire situation is really strange.

Due to the nature of how fluid (and smoke) sims are calculated the domains must be a cube.


text:
Object appears transparent in render but not in viewport
I've made a simple motion tracking scene with a cube breaking on a surface.
When I see the viewport render using Shift-Z, everything appears as expected.
When I render the final image, the cubes appear seethrough

[3

Did you check your compositor setup (poststamp/picture icon in the Node editor). Did you check the visibility of your objects in Viewport vs Render (eye vs camera icon)

Here's the compositor node view - not sure what I'm looking at though

please include it into the question, it is important

Not enough rep - I can only include 2 links

You might want to look into a tutorial for this. To get a somewhat realistic result you should include a plane for the cubes to cast a shadow onto (the virtual desk plane)

When you use the tracking feature, blender sets the compositor up using three layers:
One Layer is the movie, on layer is the objects you want to add, and one layer is the shadow/ao layer to project the shadow and ambient occlusion from the object to the background(movie).
As I can see from your nodesetup, the cubes are only visible on the background layer, but not on the foreground layer. Meaning you see the shadows and ambient occlusion but not the object iteself. Thus you have to

either adjust the visible layers in the render layer setup
or move the cubes to a layer that is rendered to foreground (probably the first layer, the second layer usually includes a plane to cast the shadow on)

authors: Лука Софрыгин


text:
why do not have a " export uv layout option"
when I unwrap a mesh I can't export it like the tutorials say. when I go to uv menu and look for the export uv layout.  that is supposes to be in top of show hide option is not there. is something i am doing wrong or is just blender?

You must not be in UV paint mode. This program is really crazy in my opinion.

If "Export UV Layout" menu is not available, check if the addon is enabled:

In "File" -> "User Preferences...",
In Tab "Add-ons",
Select the "Import-Export" category,
Check that "Import-Export: UV Layout" is enabled,
If not, enable it by checking the corresponding box (be sure to save your change by clicking "Save User Settings" button

Normally, the option is now available in the UVs menu.

Be very aware that you must have your mesh in edit mode prior to attempting uv export.
Shift F5.In edit mode 3D View for the mesh have all vertices selected.
Shift F10. Switch to the UV/Image Editor Window.  You will also see selected vertices.
The menu you want will available.

I already did that but it is still not available

I suggest you create a new file with a simple plane object and do this uv map again from start. Try it 5 different times if necessary. This is probably a simple problem.  Next watch again a tutorial video on the topic ... Search Blender UV Map Export.

With blender 2.79, click Export UV Layout at the very bottom of the UV menu. If you cannot see it just click on UVs then scroll down with the mouse and you'll find it.

Hi, Welcome to the site. This answer has already been posted.


text:
"Hard Cutting" makes strips disappear randomly
Sometimes, when I hard cut a strip in the VSE, instead of simply cutting the strip in two, Blender will delete one of the two halves (afaict, there is no pattern as to which of the two halves will be deleted). Sometimes, also the other strip will "loose" a bit.
Question: Is this a bug or a feature, and how can I avoid it (besides using soft cut instead)?

could show an image, gif or upload the  blend file. And ar you using a shortcut (if yes, which one).

I don't have an image available at the moment. I use the keyboard command "Shift-K" for hard cutting.

have you ever thee shortcut "K"

What kind of media does this happen to and what version of Blender are you using on which OS?

@3pointedit This appears with both video and audio strips. It usually seems to occur (only occurs) when I have selected multiple strips and cut them at the same time. I'm on Win XP, Blender 2.76 at the moment (has happened with several older versions as well).

Could be a mis handling of the media depending on the codec. I would suggest trying B2.78 but use a copy of the project in case you want to go back to the old version as they won't be backward compatible I expect.

Try a differently encoded video file. This sort of squirley behaviour could be because Blender doesn't like frame rate variable encoded media, like screen captures. You could try transcoding the footage to a more stable codec.

All my videos have a constant framerate. Also, it does not only affect videos.


text:
.blend files 'magically' shrinking?
Still trying to understand some audio/video sync issues, I noticed the following weird behaviour (that seems to be related to said issues) of Blender.
Sometimes just opening a .blend file (not modifying anything, and I mean anything) and then exiting (without saving) will cause Blender to silently modify this file, unless it is marked as read-only. Moreover it seems the case that when this happens, the modified .blend file is slightly smaller than the original file (around 3 kB). Also it seems that this 'phenomenon' always occurs when I have these strange audio video sync issues.
Hence I would like to know what causes Blender to silently modify .blend files, and which data it is that is being modified.

Reopening your file removes all datablock that have been created and then not used, nor marked as "Fake user".
I.e. you create two materials for an object, then assign only one of them.
The unused object remains as datablock with no users.
When you close the file and then reopen it, the unused datablock (i.e. the unused material) disappears.
I don't know if this is your case!
See Blenders manual section on: Garbage Collection

That's helpful to know, even though in my case I wonder what "datablock" this could be. I only did some video editing (import movie, audio, adjust volume and set start/end frame). Do you know if this "feature" is documented anywhere?

@BlenderBender - added manual link in answer.

@josh sanfelici: Maybe fix spelling error "mateials" (I cannot edit with such a small fix).


text:
Falling object into cloth simulation not working
im trying to simulate this object falling into a cloth and making nice ripples in it but I cant get it right, the cloth keeps going through the object no matter what. and the other problem is that I started with subdividing the cloth plane by 50 first to make playback quicker and then doubled it to 100 but it has these sharp bending in the faces when the object falls into it. i attached an image because its hard to explain.

I beg for someone to help me.

Those are the ripples, the divisions are still too big and you didn't add a shade smooth to the cloth.

Things that might affect the result: apply the scales, check the face orientations and do a merge by distance

My answer is inspired by this tuto by uc studio: Give a Soft Body then a Collision physic to your solid object, in the Soft Body panel, under Edges, set the Pull, Push and Bending values to their maximum. Give a Soft Body then a Collision physic to your cloth object, enable its Collisions and Self Collisions options. Result:


text:
How to Resize Smoke Domain
I am doing rocket animation and I did rocket smoke with quick smoke.
I need long smoke track, I tried to resize my smoke domain, didn't touch smoke flow but smoke resolution changed and smoke not looking good.
What can I do for bigger smoke domain?

i did you like you say. but nothing is changed

If you increase the size of the domain (and Apply Scale) you should also increase the Resolution in the smoke domain settings - so double the height, also double the Resolution. This way your cells will remain the same size. It's the longest dimension of the domain that dictates the size of the cells in the simulation. Using larger resolution will use more memory and take longer to bake.

i tried a lot of way for this rocket smoke and fire track but i couldn't to do. do you any advice for me?

Smoke resolution is based on the size of the domain. Ergo, a large domain with a smoke resolution of 75 will have smoke that appears far more chunky than a small domain with a resolution of 75.
One option is just to change your smoke resolution.
Another is to enable an adaptive domain and crank up the "Additional" value. This will increase the size of your domain while keeping the resolution intact.


text:
Attaching mesh to curve messed up
Using
What is the fastest way to add vertices to a curve at a specific point?
I've create a curve, and tried attaching a mesh with an array modifier set. This is what happened (.blend atached):

My guess is that where the tiles are merged, the "steps" of the curve are too close. Is there a way to make them equidistant?

Something identically related to:
https://stackoverflow.com/questions/11980166/equally-distribute-objects-across-a-bezier-curve

enable Loop Tools Addon (distributed with Blender)
convert the curve to mesh (ALT+C) (Object Mode)
Edit Mode
select all vertices (A)
set even spacing of verts: W > Loop Tools > Space
Object Mode
convert it back to curve

https://blenderartists.org/t/solved-is-there-a-way-to-evenly-distribute-splines-points-in-a-bezier-circle/1115092
urgh ...


text:
Create Indian dish 'idli' texture and rough edges?

This is the image of the dish I am trying to make in Blender, I am having hard time with the texture and randomness of it as all the pores are not exactly circular.
I also needed help with the rough and irregular edges.

Mmm.. I love idli. Try searching on 'sponge'

https://blender.stackexchange.com/questions/84745/create-irregularly-shaped-gaps-in-cube/84845

Simple speaking, with basic sponge textures or wall pores textures we can make idli textures.
found a "sponge texture" from google images.

then converted it to blackandwhite image using Photoshop

and used that blackandwhite image to covert it to NormalMap image Filters>3D>NormalMap(or)BumpMap.

Made a simple scene containing a plate and idli. Making chutney would take quite a time.. so just added a plate and idli. Then unwarped idli and added above textures and hence this final render fellow indian.

or for detailed texturing try what @Robin Betts said in comments section.


text:
Cloth wont collide
I want this plane to fall onto the cube like a blanket and I use collision on the cube and cloth on the plane, but when I play animation the plane falls half way through the cube and then folds.
I want it to land on top of the cube.

subdivide the blanket.. the more faces it has the better...

Updated solution:
I checked the file and found that in the Collision settings, you had the "Single sided" option checked on your cube.003 object.
Solution is to switch that off, then the plane stopps on top of the cube.003 as wanted, looks like this:

For the further simulation i would suggest to add a subdivision surface modifier on the plane, but i believe that will be mentioned in the tutorial you follow.
Happy Blending.

thank you fore answer but it did not work. I went into edit mode and Shift+N but it not work. I even tried to make a new plane and new cube but same thing happen :(

Did you by chance have nothing selected in edit mode before you pressed Shift+N?
I updated the answer, since functions that regard normals only work on selections.

I had everything selected but it still does the same weird thing.. :(

Would you mind sharing your file? Blend-Exchange, so i could take a look?

Okey!

Updated the answer, should it solve your problem, please consider to accept it.


text:
Video renders look pixelated
Ive been having this problem that my MP4 renders look chopped in final render.
I cant find the solution
This is in the render screen:

This is in the final render

Hey thanks for trying to help.
I checked those settings but no difference.
Here are my settings:
I just add movie and sound and render it so no prosessing

higher bit rate or codec

I can think of a few possibilities, however it almost looks like option 2:

Video encoding:

Resolution (or % thereof)

Sampling

Actually check all of the Output and Render properties.
Are you are doing any post processing in Composition?

Setting the codec to H.264, output quality to high and encoding speed to good solved it. Thank you verry much!!!!!


text:
Generating wireframes gives deformities
I am trying to convert a .stl model into a wireframe, but it always gives me annoying long lines coming out the side.


text:
Cannot use J, F or Bridge in Edit Mode in Blender 3.3.0 - Invalid Selection Order
Simple scene with two cubes in Edit mode. In v3.3.0, I have to use Control to select both cubes. I can then use shift to select two vertices/faces/edges. I want to join, create face and or bridge the gap between the cubes.  If I use  J,  F or Loop Tools > Bridge, I get Invalid Selection Error.
What is happening? This never happened in previous editions.
I use a MacBook Pro mid-2012 Retina running OS Catalina

If the 2 cubes are 2 separate objects, you can't join any vertices between their meshes, you first need to join them with Ctrl J to make one unique object

https://blender.stackexchange.com/questions/162944/i-cant-bridge-loft-these-vertices


text:
Changes in object-mode are not carried over to the slicer
I thought I solved my problem by adding Triangulate modifier. It only worked on one object. I have made a round base plate using a cylinder. I have pushed a smaller cylinder through and created a hole using Boolean modifier in the base plate, applied, hide and add Triangulate.
Everything works, there is a hole in the plate, but after exporting the stl file to the slicer, the two cylinders are on top of each other. What am I doing wrong ?

Please add an image of your object in Blender and possibly share your Blend file via https://blend-exchange.com/ following the instructions on that page.

Hiding an object in the viewport does not keep it from being exported to STL. You have to either select only the object with the hole and enable Selection Only in the export dialogue or you have to delete the object you don't want to be exported.

Thanks so much for the advice - looking forward to trying it out

Ensure Selection Only and Apply Modifiers are both checked.

An easier way is to use the 3D Printing Toolbox that comes with blender, you have to activate it in the addons section in Preferences. It includes a lot of other useful tools for checking your models for 3D printing as well.

Thanks so much for the advice - looking forward to trying it out


text:
Render passes for image sequence
I wanna use the glare node in cycles but the render passes for the image sequence is saved only for the last frame,
I tried disabling the combined pass and changing the file format to OpenEXR but it still doesn't prompt image sequence upload in the render layers

https://blender.stackexchange.com/questions/16152/save-all-render-passes-to-exr-image

https://blender.stackexchange.com/questions/28740/how-can-i-render-all-render-passes-to-files-in-cycles/28764#28764


text:
Mismatch between skeleton and mesh

Why does this mismatch between skeleton and mesh occur? If I have align the mesh to the skeleton in Object Mode, when I switch to Edit Mode, the body falls to the ground, and vice versa.

It could be that you didn't applied the transformations.
In object mode select the body and the armature (⇧ Shift + Left Click   ) and then Ctrl +  A and click on Apply all Transforms.
The problem was that the armature was in Pose Mode, so the pose was in the correct position, but the rest position was the one that appeared when you enter in Edit Mode.
The solution I found was first, remove any pose to be sure it won't affect you later. Click the armature and then use Ctrl +  Tab to enter Pose Mode, or click here

Once in pose mode, use  A to select all bones, then use Alt +  R, Alt +  G and Alt +  S to reset any rotation, movement and scale made for the pose. It will look like this

To be sure, go to the right menu and click the button that looks like a stickman and click on Rest position.

After that, go back to object mode and select everything (body and armature) after that, press  R,  X and -90 to rotate everything to the "normal" position, after that press Ctrl +  A and apply all transforms.

Then, click the armature and press  Tab to enter to Edit Mode and select only the head of the big bone below the body.

Press  R,  Z and -90 so the bone will be looking to the front

With that the model will be at the right position in Object Mode, Edit Mode and Pose Mode.

Remember to change from Rest Mode to Pose Mode in the stickman menu when you want to change the pose of the character.

OOKKK maaann thank you very much!!

My Blender version is 3.4.

Press ⇧ Shift +  A to open the Mesh menu.

After applying all transformations, follow the object mode and edit mode images respectively.

You're in edit mode. Change to object mode and then follow the steps I said.

Please don't add extra information as an answer. If you want to add more information to your question use the 'Edit' button below it it and add it directly into the editor. As @Kai says it's probably because the rotation hasn't been applied to the object and armature in Object mode.

I tried with different things in a new file and couldn't get the same problem you have, could you upload your blend file here? https://blend-exchange.com
And then edit the post with the link it shows you once uploaded

Added the solution (not sure if the page notify when someone edits the answer, so I will notify you with a comment) I hope it will solve your problem :)

Thanks for your time!!


text:
Incorrect symmetry in mesh with mirror modifier, appears rotated
Consider:

I'm trying to mirror my model, but it never lines up right and ends up going all over the place. How can I fix this?

You can do several things:

You've aligned your mesh with the global axis but your object doesn't seem to be (the mirrored mesh is tilted), it's a bit disturbing, so in Object mode, apply the rotation (CtrlA).

By default the origin of the object (small orange dot) is the center of the Mirror modifier and as we can see the mesh is far from it for the moment, so move the mesh towards the origin. Or, as explained by John Eason, if your 3D cursor is correctly placed, switch to Object mode and right click > Set Origin > Origin to 3D Cursor. Or, as Marty Fouts says, you can use a mirror object instead of the origin.

Enable the Clipping option of the modifier so that the vertices will stick to the mirror axis and won't trespass.

It's a bit difficult to see where everything is without the blend file, but try right-click > Set Origin > Origin to 3d Cursor in Object mode.

Yes I was just explaining the shorter way to center the origin

for pedantic completeness you could also use a mirror object instead of the origin.

@ Marty Fouts, ok, I've added the pedantic complement  ^^

Just add an empty plane or anything, and then move it close to the body where you want to see the mirror. Then add a mirror modifier to your body and add a target to that empty. That's all.
You can also move it towards the mirror direction. In your case, that should be X.


text:
X3d files don't get imported correctly

I have tested opening multiple .x3d model files in Blender and all have the same issue but when I open them in other software they work fine.
I have edited the init.py script and import x3d.py script after which I was able to load the models by bpy.ops.import_scene.x3d() but they load without textures and mesh and having names all with index face set, so any script to help me handle the issue or a solution to this problem would be highly appreciated .

This is the original model and the model that imports into Blender looks like this.

This is example of one model I have tested multiple all give same kinds of result and some even don't get import .

but you are in solid mode in blender, it has textures in material preview or not?

sir you are the best I can't thank you any more I just came to know about the mode and thing

I mean you can accomplish the look like above in blender as well if you set it for solid preview, but that is only opinion-based... you need to switch to material preview or live render a preview for materials/texture and lighting to be visible on your models. I would suggest for you to find basics about Blender viewport and materials

 so now the model is being loaded fine as I changed the mode but the floor isn't coming which is in the file and the errors still remain there I am attaching the hyper link to the init.py file and importx3d.py file that I had edited to be able to load x3d files of old format too in blender 2.9 https://github.com/AffanAhmedUsmani/AffanAhmedUsmani/blob/main/init.py https://github.com/AffanAhmedUsmani/AffanAhmedUsmani/blob/main/import_x3d.py

thanks alot sir but the floor aren't coming and the errors still remain there can you guide me further


text:
How can I rotate two objects at the same time?
Is it possible to rotate two or more models at the same time within Blender?

Jachmy,i put all questions on my head :) and these are just questions I don't know and not tested (cant find on google)

Yes. Add a new empty, select the objects, and then select the empty, Right-click and click on parent > parent to empty. Then to rotate, scale, move, etc. all the objects, just select the empty and rotate, move, scale, etc. it.

You Are Best Man


text:
How can I join the head of my mesh to the rigify armature?
there is something I can't figure out how to solve: the head doesn't move with the armature. I tried this: I select the head in Object Mode then I go in Edit Mode to select all of the head mesh and go back in Object Mode and ⇧ Shift select the armature and then I Ctrl + P to automatic weight in Pose Mode.
Everything seems ok (no error message) but the head does not move with the armature.

I don't know why it is not parented when everything else is. Can someone please enlighten me?

Selecting all in Edit mode is unnecessary, and don't go to pose mode, because in this case only selected bones will be weighted.
So, in Object mode, select the head mesh, Shift select the Armature, press Ctrl P > with Automatic Weights.

Thank you @Josh but it does not change anything..It is the same thing when all the mesh except the head mesh is hidden. Any other idea?

I tried with  Envelope Weights and it moved the head... but the armature is not workable, it takes me at least 20 seconds to move any part of the mesh, zut!

I finally found what was going wrong: my head mesh was too dense, it had too many faces. When I un-subdivided the head mesh, it parented to the armature with ctrl+p>deform with Automatic Weights.


text:
How can I store and restore a 3D view per view layer?
I'm working on a construction scene with a number of view layers managing the different work contexts (different buildings, different floors, structural elements, plumbing, electricity, etc.).
I'd like to :

Store the current viewport view properties (location, view direction, focal lens, etc.).
Be able to restore the view properties exactly as they were saved when I select this view layer at some point later in time.

Example in action :

I'm working on the ground floor of building A.
I create a view layer bld_a_flr0 and I store the view I'm currently in.
I start working on the second floor of building B which is located 100 units away from building A.
I create a view layer bld_b_flr2 and I store the view I'm currently in.
I decide to go back to building A, so I change the view layer to bld_a_flr0 and I click on a button to restore the view layer and 3D view.

Clarifications :

I'm not talking about the camera properties, but the 3D viewport "virtual" camera.
I'm aware of the Stored Views add-on but I don't want the hassle of having to manually type view layer names and it is not manageable when the number of view layers grows.
Assume I'm using only one 3D viewport editor.

Although the exact functionality of the Stored Views add-on doesn't cut it, we're going to leverage it in our own script. Since it's shipped with Blender for free, we can assume pretty much everybody has access to it.
We're going to add a Panel in the View Layer properties to display our minimalistic interface. It should have 2 buttons (Operators), one to save the view, and one to restore the view.
At first we assume the user didn't install the add-on and suggest enabling it directly from the panel if it isn't already enabled.

For some reason the add-on needs to be initialized every time we save & load the file, but we're not here to discuss that or refactor its code so we'll just roll with it.

Now that we have initialized the add-on, we can click on the "Save" button to store the current view.

Move the camera, tweak some view properties, and click on "Load" to return back to the saved view !

import bpy

class GU_OT_view_layer_save_or_load_stored_view(bpy.types.Operator):
    bl_label = "Save or Load View Layer Stored View"
    bl_idname = "view_layer.save_or_load_stored_view"
    index: bpy.props.IntProperty(description="Stored View Index")
    save_or_load: bpy.props.BoolProperty(description= "False : Save, True : Load")

    @classmethod
    def poll(cls, context):
        # Check if at least one View 3D area exists in the current screen
        if any(a for a in context.screen.areas if a.type == "VIEW_3D"):
            return True
        else:
            if bpy.app.version >= (3, 0, 0):
                cls.poll_message_set("No 3D Viewport available")
            return False

    def execute(self, context):
        # Import the POV class from stored views add-on which offers view saving & loading features
        from space_view3d_stored_views.core import POV

        view_3d_area = next(a for a in context.screen.areas if a.type == "VIEW_3D")
        if self.index >= 0:
            view = context.scene.stored_views.view_list[self.index]
        else:
            # We add a new entry since this view layer is not registered
            view = context.scene.stored_views.view_list.add()
            view.name = context.view_layer.name

        pov = POV(self.index)
        pov.view3d = view_3d_area.spaces[0]  # Patching this since it references a wrong space data
        if self.save_or_load:
            pov.update_v3d(view.pov)
        else:
            pov.from_v3d(view.pov)

        return {"FINISHED"}

class GU_PT_view_layer_stored_view(bpy.types.Panel):
    bl_label = "Stored View"
    bl_idname = "GU_PT_view_layer_stored_view"
    bl_space_type = 'PROPERTIES'
    bl_region_type = 'WINDOW'
    bl_context = "view_layer"

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

        if not hasattr(scene, "stored_views"):
            # Check if add-on is registered
            if hasattr(bpy.types, "VIEW3D_OT_stored_views_initialize"):
                layout.operator("view3d.stored_views_initialize")
            else:
                layout.label(text="\"Stored Views\" add-on is needed to access Stored Views", icon="ERROR")
                layout.operator("preferences.addon_enable").module = "space_view3d_stored_views"
            return

        view_layer = context.view_layer
        # If the view layer's view has already been saved, we find its entry index
        index = -1
        for i, view in enumerate(scene.stored_views.view_list):
            if view_layer.name == view.name:
                index = i
                break

        row = layout.row()
        save_op = row.operator("view_layer.save_or_load_stored_view", icon="EXPORT", text="Save")
        save_op.index = index
        save_op.save_or_load = False

        sub_row = row.row()
        load_op = sub_row.operator("view_layer.save_or_load_stored_view", icon="IMPORT", text="Load")
        load_op.index = index
        load_op.save_or_load = True
        sub_row.enabled = index >= 0  # Prevent loading view if it doesn't exist

if __name__ == "__main__":
    bpy.utils.register_class(GU_OT_view_layer_save_or_load_stored_view)
    bpy.utils.register_class(GU_PT_view_layer_stored_view)

Limitations

A major limitation is that the saved entries are referencing the view layers by name. If you change the view layer name, the reference will be lost and you won't be able to load the view from the interface. Despair not, for we can find the lost view in the regular add-on interface, in the View panel of the Right hand side panel of the 3D viewport :

Use the cube icon to load the view, click in the name field to rename to your current view layer name, click on the dot to save the current view, and click on the cross to delete the entry.

It relies on another add-on being shipped with blender, it may not be available in some versions ? I don't know.

Viewport camera movements do not register with the undo system, so it's not possible to undo the operations.

I'm not aware of other limitations at the moment.
Turning it into an add-on
I've voluntarily kept the scope as small as possible so currently this is just a script that's supposed to be run in the text editor. Here are great resources to turn the script into a full-on add-on :
https://www.youtube.com/watch?v=nKt6CtMH0no
https://docs.blender.org/manual/en/latest/advanced/scripting/addon_tutorial.html


text:
How can I convert a Grease Pencil object to curve or mesh without operators?
Geometry-holding objects have handy methods to get their data as an evaluated mesh :

to_mesh method to get a mesh object
to_curve method to get a curve object

However these can't be used on Grease Pencil objects and throw an exception :
RuntimeError: Error: Object does not have geometry data

There is an operator : bpy.ops.gpencil.convert which can be used to convert a grease pencil object to a curve object, but it can only convert one layer at a time and it requires holding a reference to a 3D view area, which might not always be available.
How can I convert a Grease Pencil object to a curve object or a mesh object using lower-level API instead of an operator ?

The limitation is easily explained by the complexity of a Grease Pencil object and its data structure, best explained on this other question.
A GP object can hold several layers, which can hold information for each frame of the animation, and each frame can hold an indefinite number of strokes, which can hold an indefinite number of points.
For the sake of ease of use the script will be considering the grease pencil object is not animated and holds only one frame worth of data, but it could be added as a feature afterwards.
It will however be able to export different objects for each layer in the GP object.
The final script :
import bpy

def main():
    gpencil_object = bpy.data.objects["Suzanne"]
    convert_gpencil_to_curve(gpencil_object, flatten_layers=True)
    convert_gpencil_to_curve(gpencil_object, flatten_layers=False)
    convert_gpencil_to_mesh(gpencil_object, flatten_layers=True)
    convert_gpencil_to_mesh(gpencil_object, flatten_layers=False)

def new_convert_mesh_object(collection, name):
    mesh = bpy.data.meshes.new(name=name)
    convert_object = bpy.data.objects.new(name=name, object_data=mesh)
    collection.objects.link(convert_object)
    return convert_object

def new_convert_curve_object(collection, name):
    curve = bpy.data.curves.new(name=name, type="CURVE")
    curve.dimensions = "3D"
    convert_object = bpy.data.objects.new(name=name, object_data=curve)
    collection.objects.link(convert_object)
    return convert_object

def convert_gpencil_to_mesh(gpencil_object, flatten_layers=True):
    gp_col = gpencil_object.users_collection[0]
    gp = gpencil_object.data
    if flatten_layers:
        obj = new_convert_mesh_object(gp_col, gpencil_object.name + "_mesh")
        vertices = []
        edges = []
    for layer in gp.layers:
        if not flatten_layers:
            obj = new_convert_mesh_object(gp_col, f"{gpencil_object.name}_mesh_layer_{layer.info}")
            vertices = []
            edges = []
        for frame in layer.frames:
            for stroke in frame.strokes:
                for i, point in enumerate(stroke.points):
                    vertices.append(point.co)
                    if i > 0:
                        edges.append((len(vertices) - 1,len(vertices) - 2))
        if not flatten_layers:
            obj.data.from_pydata(vertices, edges, ())
    if flatten_layers:
            obj.data.from_pydata(vertices, edges, ())

def convert_gpencil_to_curve(gpencil_object, flatten_layers=True):
    gp_col = gpencil_object.users_collection[0]
    gp = gpencil_object.data
    if flatten_layers:
        obj = new_convert_curve_object(gp_col, gpencil_object.name + "_curve")
    for layer in gp.layers:
        if not flatten_layers:
            obj = new_convert_curve_object(gp_col, f"{gpencil_object.name}_curve_layer_{layer.info}")
        for frame in layer.frames:
            for stroke in frame.strokes:
                spline = obj.data.splines.new(type="POLY")
                spline.points.add(len(stroke.points) - 1) # Spline starts with 1 point
                for i, point in enumerate(stroke.points):
                    spline.points[i].co = [v for v in point.co] + [1]

if __name__ == "__main__":
    main()

The explanations :

Convert to curve

First we define a handy function to create a new curve object and link it to the GP object collection, then return it.
def new_convert_curve_object(collection, name):
    curve = bpy.data.curves.new(name=name, type="CURVE")
    curve.dimensions = "3D"
    convert_object = bpy.data.objects.new(name=name, object_data=curve)
    collection.objects.link(convert_object)
    return convert_object

Then we define the behaviour of the curve converter :
def convert_gpencil_to_curve(gpencil_object, flatten_layers=True):
    gp_col = gpencil_object.users_collection[0]
    gp = gpencil_object.data
    if flatten_layers:
        obj = new_convert_curve_object(gp_col, gpencil_object.name + "_curve")
    for layer in gp.layers:
        if not flatten_layers:
            obj = new_convert_curve_object(gp_col, f"{gpencil_object.name}_curve_layer_{layer.info}")
        for frame in layer.frames:
            for stroke in frame.strokes:
                spline = obj.data.splines.new(type="POLY")
                spline.points.add(len(stroke.points) - 1) # Spline starts with 1 point
                for i, point in enumerate(stroke.points):
                    spline.points[i].co = [v for v in point.co] + [1]

Here we want either to create only one object and write splines to it if we flatten the GP object's layers, or create one curve object per layer and accordingly populate the splines.
We reference the gpencil object (Suzanne for testing purposes):
gpencil_object = bpy.data.objects["Suzanne"]

Then we call it with layer flattening :
convert_gpencil_to_curve(gpencil_object, flatten_layers=True)

A new curve is created :

And all the layers have been flattened :

Calling the method with flatten_layers=False yields :
convert_gpencil_to_curve(gpencil_object, flatten_layers=False)

Two curves have been added (one for each layer) :

And the objects are separated :

Convert to mesh

It works pretty much the same way. Define our handy object creator :
def new_convert_mesh_object(collection, name):
    mesh = bpy.data.meshes.new(name=name)
    convert_object = bpy.data.objects.new(name=name, object_data=mesh)
    collection.objects.link(convert_object)
    return convert_object

Define the converting process :
def convert_gpencil_to_mesh(gpencil_object, flatten_layers=True):
    gp_col = gpencil_object.users_collection[0]
    gp = gpencil_object.data
    if flatten_layers:
        obj = new_convert_mesh_object(gp_col, gpencil_object.name + "_mesh")
        vertices = []
        edges = []
    for layer in gp.layers:
        if not flatten_layers:
            obj = new_convert_mesh_object(gp_col, f"{gpencil_object.name}_mesh_layer_{layer.info}")
            vertices = []
            edges = []
        for frame in layer.frames:
            for stroke in frame.strokes:
                for i, point in enumerate(stroke.points):
                    vertices.append(point.co)
                    if i > 0:
                        edges.append((len(vertices) - 1,len(vertices) - 2))
        if not flatten_layers:
            obj.data.from_pydata(vertices, edges, ())
    if flatten_layers:
            obj.data.from_pydata(vertices, edges, ())

convert_gpencil_to_mesh(gpencil_object, flatten_layers=True)
convert_gpencil_to_mesh(gpencil_object, flatten_layers=False)

yields pretty much the same result as for the curve.


text:
How can I set the custom color of all nodes of a certain type?
I often find myself looking for certain types of nodes inside my node trees. I'd like to be able to set their color to a bright yellow so I can see all of them at a glance.
How can I do that ?

I wrote a self contained script that can easily be turned into an add-on. This will add an operator in the toolshelf of all the node editors. Then you just have to click on the operator to run it. It will display a popup where you can change the node type, the desired color and whether you want to select nodes after the operation.
If a node is active when the operator is run, it will be suggested as the default type.
Note that it works in any node tree. It should be working in custom node trees generated by add-ons too though I didn't test it.
Proof by example :

import bpy
from bpy.props import EnumProperty, FloatVectorProperty, BoolProperty

def get_active_node_tree(context):
    node_area = context.area if context.area.type == "NODE_EDITOR" else None
    if node_area is None:
        return
    return node_area.spaces[0].edit_tree

def get_node_types(_, context):
    node_types = set()
    for node in get_active_node_tree(context).nodes:
        node_types.add(node.type)
    node_types = list(node_types)
    node_types.sort()
    return [(node_type,) * 3 for node_type in node_types]

class NODES_OT_color_by_type(bpy.types.Operator):
    bl_idname = "nodes.color_by_type"
    bl_label = "Color all nodes of a given type"
    bl_options = {"UNDO", "REGISTER"}

    @classmethod
    def poll(cls, context):
        return get_active_node_tree(context) is not None

    node_type: EnumProperty(name="Type", items=get_node_types)
    node_color: FloatVectorProperty(name="Color", subtype="COLOR", min=0, max=1, default=(0.5, 0.5, 0.5))
    select_nodes: BoolProperty(name="Select nodes after operation", default=False)

    def invoke(self, context, event):
        if context.active_node is not None:
            self.node_type = context.active_node.type
        return context.window_manager.invoke_props_dialog(self)

    def execute(self, context):
        node_type = self.node_type
        for node in get_active_node_tree(context).nodes:
            if node.type == node_type:
                node.use_custom_color = True
                node.color = self.node_color
                if self.select_nodes:
                    node.select = True

        return {"FINISHED"}

class GU_PT_node_editor_qol(bpy.types.Panel):
    bl_space_type = "NODE_EDITOR"
    bl_label = "QOL"
    bl_region_type = "UI"
    bl_category = "Tool"

    def draw(self, context):
        self.layout.operator(NODES_OT_color_by_type.bl_idname)

if __name__ == "__main__":
    bpy.utils.register_class(NODES_OT_color_by_type)
    bpy.utils.register_class(GU_PT_node_editor_qol)

Link to a nice ressource for the task at hand.

very nice...although the yellow burned down my eyes.... ;) +1 +2, if you change to cyan :D

@Chris Yeah I settled for a less saturated green afterwards ^^ white on yellow is not readable at ALL

This would be a good addon to use presets

@Gorgious I would like to add this to an addon I maintain.  How should I credit you?

@MartyFouts ooh nice, no need to credit me, but if you really want to a link to this thread or writing my username will do :)

@Gorgious link/username it is.  It's not much of an add-on yet: github tools but there it is.  When I get some time I'm going to add presets to the node color to get a theme-like tool for it.

@MartyFouts hehe nice thanks for the credit :) Funny I maintain the same type of addon for my day to day use. https://github.com/Gorgious56/gorgious_utilities Totally undocumented though >< Cheers

@Gorgious If you've got the time there's a bpy specific discord that I think would love to have you.


text:
How can I access a collection's custom properties using the interface?
Now that we have a dedicated panel for the Collections properties in the properties editor, I was hoping we could access a collection's custom properties interface like we can for the other objects in the other panels. However this is not available.

See for example the object properties :

How can I have access to the collection custom properties using only the interface ?

EDIT : Starting with Blender 3.3 this feature is in Blender by default. There is no need anymore to create a custom python addon.

For Blender up to 3.2 :
As you may know in Blender, all objects inheriting from ID (Object) can hold custom properties. These are useful to store specific bits of information on objects. They can be accessed in many parts of Blender, and by the python API.
The Collection types inherits from ID, so it supports custom properties.
This means we can add, read and delete custom properties on collections using the python API.
import bpy

collection = bpy.data.collections["Collection"]
collection["prop"] = 2
print(collection["prop"])
del(collection["prop"])

Are all supported.
However the interface doesn't allow us to have a direct access to these properties without using the API.
Thankfully we can re-use a built-in construct to provide this behaviour in a very low amount of code. We're going to write a script that can be imported as an add-on so the functionality is always available.
import bpy
from rna_prop_ui import PropertyPanel

bl_info = {
    "name": "Collection Custom Properties",
    "blender": (2, 80, 0),
    "category": "Interface",
    "version": (1, 0, 0),
    "author": "Gorgious56",
    "description": "Access Collection Custom Properties",
}

class GU_PT_collection_custom_properties(bpy.types.Panel, PropertyPanel):
    _context_path = "collection"
    _property_type = bpy.types.Collection
    bl_label = "Custom Properties"
    bl_idname = "GU_PT_collection_custom_properties"
    bl_space_type = "PROPERTIES"
    bl_region_type = "WINDOW"
    bl_context = "collection"

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

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

if __name__=="__main__":
    register()

Write this into a text file with your favorite notepad, then save & quit. Change the extension to .py. Your file should look like this :

Now go to Edit > Preferences > Add-on > Install and navigate to your file, click on "Install Add-on" and check the box in the new entry.

Result :

Credits to @Wahooney on Blenderartists : https://blenderartists.org/t/collections-with-custom-attributes/1142437/12


text:
Can't weight paint
I tried to rig a character but when I move a bone, my character stretched and fold into himself and I don't really know why.
After looking around, I saw that weight paint may help my character to not fold but I can't override the color but on the right of my character it works. Do you know if the weight painting can help and why is it not working ?

hello please share your file: https://blend-exchange.com/

@moonboots thanks, here is the file:
I finally can weight paint on it (I forgot to apply the mirror modifier) but on pose mode, when I move a bone (like the arm) it still stretch the body..

Reparent with Automatic Weights and it seems to work fine, it will need some little corrections in Weight Paint mode though

You can select your model and press Alt+P, then select Clear Parent to remove the automatic weight paint. Try pressing Ctrl+A and selecting Scale to apply the scale. Then, you can rig it again with automatic weights. Additionally, you might encounter problems with normals if you mirrored your character. Enter Edit Mode, select all faces, then press Alt+N and choose Recalculate Outside to ensure all normals face outward.


text:
Blender as a Python Module: Import COLLADA
I followed this post to install blender as a python module. I realize that this isn't officially supported, but I thought I'd ask for help anyways.
I'm trying to import a COLLADA (.dae) file. In blender's scripting mode, this is done by the method bpy.ops.wm.collada_import(filepath=...). However, when I checked to see if this method exists, I got
>>> bpy.ops.wm.collada_import
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python3.4/dist-packages/2.74/scripts/modules/bpy/ops.py", line 207, in __repr__
    as_string = op_as_string(idname)
AttributeError: _bpy.ops.as_string: operator "WM_OT_collada_import" could not be found

Other import methods, such as bpy.ops.import_scene.autodesk_3ds work, so I'm wondering if there's an easy way to fix this.

Any solution after all?


text:
Blender cycles dof viewport problem
When I set dof in the viewport it looks ok but my rendering just doesn't show it in the same way. Just there is no dof. My scene has multiple layers in compositor. What have I missed?
Thanks.

it might not be related but mostly when I've run into render/viewport differences it's because of the viewport's clip planes being at different distances from the camera's.

I guess I got how to solve this after exploring goole with correct words. I think that each layer must have its own defocus node in the compositor. I'm doing a quick test here right now. Thank you for the answer.

yes, my first trying was in this way but it results no dof, despite right camera settings (I guess). My test using defocus node didn't work also.
it's so strange. I really don't know what I'm doing wrong. In the viewport everything is ok, the scene has a nice dof.

I'll do a new test. This time using just one layer. Let's see what happens.
Thank you guys.

Thank you mates, jozxyqk, cegaton. I made a big mistake. I thought that new feature automatically change the camera values with the values of f-stop in the viewport.
My sincerest apologies for your time.


text:
Live, real time video, compositing onto a virtual studio
Is there a way to use Blender and (say) a 3d virtual "tv studio", together with input streaming from a camera into the application in real time?
So, from a physical camera > USB input > here I am available in Blender as a stream of data by
My interest comes from a desire to create a live stream "tv studio" where the studio is a CG model and the actor is in a green screen studio.

I think it would need some serious computing power. And I don't know how this should be setup. I'm almost certain you'll have to create the software by yourself, or hire someone to do so. It would be awesome to see someone do this!

I was kinda hoping someone might pop up and say "hey, EEVEE renderer can do this!" (as it seems to support real time rendering of 3d objects so my brain sez "video stream is not even computed (much, and realtime video is already a thing), so it must be trivial to add a stream into a 3d scene (a 3d studio is not that complex as models go)".

Have you looked at https://obsproject.com/ ... I think you could pre-render the virtual studio in blender and then green screen your actor in using OBS

You can do this after the fact, but unless you're running a supercomputer, Blender probably won't be able to keep up with the live feed.

Darn. Well, I tried. (:   (I don't have it myself, but have heard of it.)

You should be able to do it as an NDI source with a switcher like the tricaster mini, or maybe as others have done with the unreal engine or maybe like these guys. https://www.blendernation.com/2018/06/25/blender-used-in-hybrid-studio-pipeline/


text:
How to use a Dupligroup as a hair Object
I have an empty that is duplicating a group. I would like to instance this empty as the object of a hair particle system (or as part of a group of object's being instanced). This does not appear to work correctly.

Please confirm that this is the case and whether this is a bug or the intended behavior.
If this is intended behavior, please specify why this is the case and whether this has been thoroughly contemplated.
If possible, please specify the person(s) contributing to the particle system and dupligroup implementations.

Dupligroups are a fundamental facet of managing mesh hierarchies and building objects as they are a fundamental way of instancing meshs. They are also critical for sharing assets between files with linking.
I wish to instance trees using the hair particle system. As you can imagine, a complex trees would not be optimal to distribute as a single mesh and would be convenient to instance as a dupligroup.

That doesn't work. It may be because the group is linked. 2. I want to use the random settings of Particle System dupligroup to instance from a variety of dupligroups as specified in the OP.

I appreciate your help SixthofFour but I am not an amateur blender user. I am aware of what I'm doing if you read my posts you will see you are stating the obvious (eg, the random feature of particle system Dupligroup, selects a random object of a group to instance. I want one of those said objects to be a group duplicating empty, hence this question). I will shortly attach a blend of this behavior. With regards to what doesn't work, if I select whole object of a Particle System dupligroup, not all of the objects of the group are duplicated.

Linked objects . . . you can make a proxy using Ctrl+Alt+P, or make it local using P >  Selected Objects

NoviceInDisguise... I'm confused by how that is useful in this case. Again... 1. I'm trying to hair object a dupligroup empty. 2. There appears to be a bug with the fact that linked groups do not in all instances have all their object's used by the Particle System dupligroup which may be what you are referring to. In some cases they are processed correctly but I have an instance where it is. I dont know what the deterministic behavior is. This is an incidental bug that I don't particularly care about in this workflow. I am more interested in using a dupligroup empty as a hair object.

I created a bug report: https://developer.blender.org/T44963?workflow=create


text:
Executing blender with an executing python interpreter (ie parent process access to bpy.context)
Opening a blend file with blender does not localize the blender executable's python interpreter context
    eg a valid call to bpy.context from an external python interpreter does not appear to be faciliated by any documented facility
is it possible to open the blend file with blender with a provided python interpreter?

The only other way to enable interaction with an opened file daemon would be to io with the executable on a port
It's unlikely that python has any general purpose for sharing the python interpreter's context, ie an rpc api (that is callable from an external python interpreter in a interchangeable way) for:

general purpose memory reading/writing
command execution
any other constructs relevant to python