Run bge for a certain number of frames? Is there any way to programmatically specify the number of frames for which you want bge to run? Let's say I want bge to run for 5 frames after which I want to modify some game parameters via some script I have. I'm running everything via command line so accessing any sort of control features via the gui isn't an options. Is this possible?

Thanks!

You can measure the frames with a delay sensor:


One face is bigger than the others Making the donut and one of the faces is bigger than the other. Tried goolging the problem but I don't know all the terms to really search effectively. Is there any way to fix this?

The best is probably to delete the face, dissolve the useless vertices, select 2 opposite edges and CtrlF > Grid Fill:


How to turn object into this for sculpting? Hi.I'm trying to make a realistic looking model and i watched a few tutorials and they used the 2nd cube for scuplting.But they didn't mention how to get the 2nd cube.Can anyone tell me what's the name of the 2nd cube and how to turn the 1st cube to the 2nd cube?

Without additional information, I would bet on "smooth shading" set on the cube (tool shelf on the left of the 3d view), it is not a 'different' cube.
It seems also having a subsurface modifier ('simple' method) on.
Try to switch back and forth between smooth and flat and you'll see the shading difference.
hope it helps


Possible bug with high "3D view far clipping distance" I think I have encountered a Blender bug. In the default scene (lamp set at "sun") I have set the 3D view far clipping distance at 10000. Now I cannot rotate the sun lamp anymore. Do you agree ?

In Your .blend file the light source is set to Point not Sun.That's why You don't see direction line.


Object disappearing and origin points I highlight an object in Object Mode but when I click TAB to go into Edit mode, the selected object always disappears. However when nothing is selected, the middle tracks disappears after TAB. What have I done wrong?

I created two railway tracks with one Mirroring the other.
However the origin point is not in the middle of the two rails. Could you please explain:
- why this is the case, and how it ended up there?
- where the origin point ought to be and how can it be corrected?

I am assuming the origin points of all the objects in the scene are out of whack with each other? Is there anyway to clean up the whole mess?

I am a beginner and I am extremely confused with origin points - I have played around with "origin to geometry" and other "fixes" but I always end up with objects getting displaced or creating more mess. Or when I switch betw object and edit modes, I get objects moving or disappearing. Any advice to a noob would be much appreciated.

Please find attached Blend file.

If you want to display or edit your mesh the way you see in Object Mode but after using modifiers, be sure to select those options (green one for displaying, red for editing) for all modifiers:

What's happening is that the modifiers are not set to display in Edit mode, so when you press Tab you'll get the "original" mesh, without any modifications (in your .blend, for example, you can still see a small piece of your track  in Edit mode).
Also, when you press Tab with nothing selected, Blender will enter Edit mode for the active object (the one with yellowish origin), even if it's not selected. So, probably your track is the active object when you deselect everything.


Performance impact of turning up Max transparency bounces? When using transparent objects, if you do not allow enough transparency bounces (set in Light Paths) then you will get black artifacts. Having more transparent surfaces and bounces slows down the render. But does it matter if your Max bounces area higher than the number of surfaces in your file? If you have 0 transparent shaders present and turn Max bounces up, does it matter? Is there any reason not to always leave it at a high number?

No, it has no effect if you do not have any transparent shaders in your scene. Setting it too high could result in a lot of extra bounces being calculated for little result on some stray transparent object. One of those corner cases that comes up sometimes. Additionally, some would say the default of 8 (with no early path termination, since the minimum is also 8) is already a "high" number. It depends on your scene and your goals. Adjust accordingly.


Fixing bad geometry on a complex mesh I have been modeling a dragon, and I see all sorts of artifacts in the mesh. When I go into edit mode and select all by trait, blender says they are non manifold and interior faces. I have researched many different ways of fixing bad geometry such as merge by distance, Weld modifier, and trying to smooth or use other tools in sculpt mode.

Here is my .blend -->

I looked over the file and found that over huge parts of the object there are faces overlapping other faces:

Some connected some not. While using a remesh modifier with a low enough voxel (roughly 0.08) size results in the geometry to be clean again:

The resulting mesh will have a throughout higher density and i do not know if you want to retopologize your dragon, as that might be the best way to reduce the density again.

I tried to use the decimate modifier and it actually resulted in similar artifacts, so retopo seems to be the best choice.

Another option going out from the version you shared, would be to cut away half of the dragon and using the mirror modifier. Then you would have to go over half the dragon and manually remove all the overlapping faces, believe me, it will be a good timekiller. Retopo seems in my humble opinion to be the better option.

Happy Blending


pole targ it does not work as I would like I'm working ik, and I try to put them a pole targ but this one does not work like I want.

I'm using the pole targ to simulate the elbow but as you can see in the picture this nose bends like a piece of cake instead of going backwards it bends to the side, could you tell me what I'm doing wrong?

There's an option called Pole Angle that can be found just below the boxes where you selected the bones for the constraint. If you adjust the angle, you can get the bones pointing where they should be.

It could be that you have a bone rotated by 90 degrees somewhere, but it's most likely that the constraint is simply using a different axis than you want. Try 90 or -90 degrees to straighten things out. All this option does is take the default orientation that the constraint uses, and offsets it by however many degrees you input (so the limits are 180 and -180).


Which matrix to use to transform children local coordinates to global? Setup
I have an object Plane with 6 vertices. To each vertex I assign another object as child.
Then I apply two keyframes on location to object Plane:

In frame 0 it goes to Z = 5
In frame 81 it goes to Z = 0

I want to know correct global x,y,z coordinates of each Sphere during frames 0 to 81.

Problem
I do not understand which matrix or matrix combination to use to achieve coordinates in this case.
For example for frame 81 I know that Z = 0 for Plane. It is also Z = 0 for all spheres.
I would like to know object Sphere global coordinates. If I code in Blender console:
>>> sp0.matrix_world.to_translation()
Vector((-1.0, -1.0, 0.0))

>>> sp0.location
Vector((-1.0, -1.0, 5.0))

If I write python script and run it I have:
obj = bpy.data.objects['Sphere']
x,y,z = obj.matrix_world.to_translation()
print("x,y,z ", [x,y,z])
print("setpoint_location ", obj.location)

>>>x,y,z  [-1.0, -1.0, 5.0]
>>>setpoint_location  <Vector (-1.0000, -1.0000, 5.0000)>

Additional info
Code I use to create Spheres and attach it to Plane as child objects on each vertex.
import bpy

def create_objects():
    for i in range(6):
        bpy.ops.mesh.primitive_uv_sphere_add(radius=0.25, enter_editmode=False,location=(i*2., 0, 0))
def allocate_objs(plane, objects):
    bpy.ops.object.select_all(action='DESELECT')
    for i, vert in enumerate(plane.data.vertices):
        world_matrix = plane.matrix_world
        vertice_coords = world_matrix @ vert.co
        objects[i].location = vertice_coords
        objects[i].select_set(True)

    plane.select_set(True)
    bpy.context.view_layer.objects.active = plane
    bpy.ops.object.parent_set(type='VERTEX')

#create_objects()
objects = [obj for obj in bpy.data.objects if "Plane" not in obj.name]
plane = bpy.data.objects["Plane"]
#allocate_objs(plane, objects)
obj = bpy.data.objects['Sphere']

for frame in range(0,100):
    bpy.context.scene.frame_current = frame
    if frame in [0, 81]:
        x,y,z = obj.matrix_world.to_translation()
        print(bpy.context.scene.frame_current)
        print("world matrix \n", obj.matrix_world)
        print("matrix_basis \n", obj.matrix_basis)
        print("matrix_local \n", obj.matrix_local)
        print("matrix_parent_inverse \n", obj.matrix_parent_inverse)
        print("frame ", frame)
        print("x,y,z ", [x,y,z])
        print("setpoint_location ", obj.location)
        print("======================")

Parent with Identity inverse.
The relationship between the matrices.
Does a child object inherit the matrix from the parent?
and if you have used the parenting operator (yick) how to reset parent inverse to identity, to avoid the hassle.  (The location can be garnered from the vert location anyway_)
how to clear parent inverse without actually moving the object
Here is an alternative way to parent your spheres to the verts of the plane, code from https://blender.stackexchange.com/a/200719/15543  Each object has an identity parent inverse.  (It uses empties, for 6 could use add mesh operator, location=(0, 0, 0), directly after each run the new object is context.object)
Run with plane as context object
import bpy
from bpy import context

ob = context.object
coll = context.collection

for v in ob.data.vertices:
    mt = bpy.data.objects.new(
        f"Vert{v.index}",
        None,
        )
    mt.empty_display_type = 'CIRCLE'
    mt.empty_display_size = 0.2
    mt.parent = ob
    mt.parent_type = 'VERTEX'
    mt.parent_vertices = [v.index] * 3
    coll.objects.link(mt)

Testing.
Am going to use these vert parented empties  as a test case for above, for simple numbers have simply moved the plane to (0, 0, 2).  Still the context object.

>>> C.object
bpy.data.objects['Plane']

Local and global vert locations.
>>> for v in C.object.data.vertices:
...     v.index, v.co[:], (mw @ v.co)[:]
...
(0, (-1.0, -1.0, 0.0), (-1.0, -1.0, 2.0))
(1, (1.0, -1.0, 0.0), (1.0, -1.0, 2.0))
(2, (-1.0, 1.0, 0.0), (-1.0, 1.0, 2.0))
(3, (1.0, 1.0, 0.0), (1.0, 1.0, 2.0))
(4, (0.00918059702962637, -1.0, 0.0), (0.00918059702962637, -1.0, 2.0))
(5, (0.00918059702962637, 1.0, 0.0), (0.00918059702962637, 1.0, 2.0))

Missed the middle with a loop cut, nevermind
Global, and local object locations
>>> mw = C.object.matrix_world
>>> mwi = mw.inverted()
>>> for o in C.scene.objects:
...     o.name, o.matrix_world.translation[:], (mwi @ o.matrix_world.translation)[:]
...
('Plane', (0.0, 0.0, 2.0), (0.0, 0.0, 0.0))
('Vert0', (-1.0, -1.0, 2.0), (-1.0, -1.0, 0.0))
('Vert1', (1.0, -1.0, 2.0), (1.0, -1.0, 0.0))
('Vert2', (-1.0, 1.0, 2.0), (-1.0, 1.0, 0.0))
('Vert3', (1.0, 1.0, 2.0), (1.0, 1.0, 0.0))
('Vert4', (0.00918059702962637, -1.0, 2.0), (0.00918059702962637, -1.0, 0.0))
('Vert5', (0.00918059702962637, 1.0, 2.0), (0.00918059702962637, 1.0, 0.0))

or alternatively instead of multiplying by mwi use matrix_local eg
>>> C.object
bpy.data.objects['Vert1']

>>> C.object.matrix_local.translation
Vector((1.0, -1.0, 0.0))

So I contend, assuming the empties (spheres) do not move from their parented vert,  the local coordinates  can be taken from the vertex coordinates, and the global coordinates also by multiplying by the objects matrix world.
Or conversely the global coordinates of the verts from the empties global locations, and the locals by multiplying by the parent objects inverse matrix world.
Note if the plane is to be deformed, can get the mesh coordinates with Object.to_mesh or Bmesh.from_object.
Note: It is recommended to change frame with scene.frame_set(f) rather than setting scene.frame_current = f.


How to calculate Specular value for Principled BSDF node from IOR? With regard to the manual the Specular value for the new Principled BSDF node can be computed with following formula:

$\text{specular}=\left(\frac{\text{ior}-1}{\text{ior}+1}\right)^2/0.08$
For example:

water: ior = 1.33, specular = 0.25
glass: ior = 1.5, specular = 0.5
diamond: ior = 2.417, specular = 2.15

But I am getting other numbers. Is the formula wrong? If so, what is the correct one?

The formula above is correct. Just don't mistake square with square root as I did before.


How do you apply the object transform so that scaling the object on a single axis actually scales along the correct axis? I am trying to scale an object along the Y Axis (flipping it by -1) but I am having trouble. When I scale it by Y, it seems to be a semi-arbitrary axis. The 3D cursor shows that the object's orientation is not aligned with the world, but I want to scale it on the world's Y Axis. I've tried clearing and applying rotation but it doesn't seem to be doing what I expect. I would think that clear rotation would be what I'm looking for, but it doesn't seem to work. I want the object to stay in the same exact world location but I want its rotation to be 0,0,0. How can I zero the object's rotation without affecting its actual position/rotation?

Thanks,
Warren

Please try this : in Object mode, hit Ctrl + A, in resulting menu select Rotation

Its all zero now, I hope it help you :) best of luck


Mesh following bone with strange offset I have a multi-layer armature with a FK- weightpaint layer following a IK control layer.  I weight paint it to a test armature and everything looks fine...except the feet.  For whatever reason, the feet are offset from the bone in such a way where the block character walks bow-legged:

Note that all bones are visible here, and the weight painting is what I need it to be.  The foot mesh even follows the bone...albeit a few units offset.  Does anyone know what is going on here?

It turned out that the rest positions for those bones were wrong.  This was extremely hard for me to detect because the mesh layer was following the control layer in pose mode.  To catch it, I looked at the armature with all layers turned on in edit mode.


Trouble baking normals from a high poly mesh to low poly mesh using Blender and Substance Painter This is a bit of a mixed question as I'm using both Blender and Substance Painter. I am hoping that someone with a Blender > Substance workflow knows what's causing my frustration.

I am following this tutorial.

Here is my blender file: tracer_redo_final_bake_3.blend

Here is my low poly mesh: tracer_low.fbx

Here is my high poly mesh: tracer_high.fbx

Here are both meshes as they appear in blender for convenience:

High Poly Gun:

Low Poly Gun:

When I try to bake the normal map in Substance, the details come out completely wrong and there are a lot of artifacts. I am aware that some artifacts are normal and I'm not striving for perfection here, but I'm not getting any of the beveled edges or further detail after the bake. The edges that are supposed to look beveled end up sharp and the model gets really splotchy. This doesn't occur in the tutorial video.

Here's a screenshot:

Here are the settings in Substance that I'm using for the bake:

I know that I can bake normals inside of Blender, but I really want to figure out how to do it correctly in substance painter for workflow reasons.

Is there any possibility someone could look at my files and tell me what I'm doing incorrectly? Could this be a blender-specific problem? This is my first attempt at baking and texturing something remotely complex, so I'm kind of overwhelmed.

A huge thanks for any assistance at all!

I figured out that by selecting "Relative to Bounding Box" in Substance fixed the issue for me. I am kind of mystified why this worked, but it did. If anyone knows why this happens it would be a great help.


Removing Anti-Aliasing from shadows in the BGE How do I fix the anti-aliasing in edges of shadows in BGE?

This can be solved relatively easily, but you may have to make minor changes elsewhere to keep the crisp shadow edge as pictured here, only without the anti-aliasing

This is the type of shadow that you have now.

and I assume this is closer to what you want.

You can achieve this simply be changing the shadow casting setting on your shadow emitting lamps from Simple to Variance

of course, now you can tweak the settings to restore the crisp shadow edge. I found that by squashing the Bias, the shadow looked much better.

You will need to make all your shadow lamps have the same settings for the final result to look good. It is usually a good idea to only have a  few shadow lamps, one main lamp for everything, and then extra spotlights as needed. A better approach is baking on the shadows for the environment, and then use a spotlight parented to the character to give your character dynamic shadows.


Getting an object lined up with the x, y, or z axis again I got a model from SketchUp, and imported it into Blender to modify it. It was just half the figure, meant in the end to be mirrored to have it be completed, and when I initially imported it into Blender it was lined up perfectly so that both the nose and tail were nicely aligned at x axis 0.

Through the course of working on it however I must have accidentally rotated it off center. I want to duplicate the left side so that I can mirror it and then merge these two halves, but I need to have that center loop of the figure uniformly on x axis 0. How do I get it squared up again?! See how it's been tilted off center?

Close the shape with ngon:

Add Empty to the scene, enable snapping, set to face, enable align orientation and snap the empty to the ngon:

Parent the mesh to the empty: Select mesh, select empty, Ctrl+P
Reset the rotation of empty with Alt+R
Clear parent (Alt+P) and Keep the transform. Now your mesh is aligned with world coords.
Delete Empty, delete ngon, rotate mesh to the axis you want.


How to change an object's material or texture with python script in blender game and for it to be visible? I have tried this with the materials:

import bpy

D = bpy.data

D.objects['Cube'].material_slots[0].material = D.materials['Material.001']

# material slot 0 is a material that is applied to the object.

But the effect is only visible "out of the game"

bpy is the main blender module, it is not available inside the game engine where you should start your scripts with import bge. In the game engine you use different data structures than the main part of blender. I don't think the bge let's you easily change materials, this page makes it sound like you need to loop over every poly to change the material.

There is a simple way to achieve what you want, using logic bricks to swap mesh objects. First step is to check you have the material linked to the data not the object, data is the default setting so may already be set.

Then duplicating the object and giving the second one the other material. Then you can use an Edit Object actuator to swap meshes.


How to bake multiple audio sounds to f curve? I want to add three different audio clips to same character's mouth using bake sound to f curve. But I am able to add only one sound clip. when i try to add second clip, it replaces the first one. Please help me.

Bake to custom properties to drive from.

As an example I've made 3 custom properties on the default cube.
Add a keyframe and bake to sound for each.

Image. Baked prop, added keyframe to prop2.

Now let's say we want to drive the cube's x location by these props.

Add a driver to the location.x field. Hover over with mouse, right click, add drivers > manually create later single.  Put the graph editor in Drivers mode, select the location.x driver, hit N and choose drivers tab.

with scripted expression chosen (default) and the "use self" option checked, can type (or paste) in an expression, where self is the Cube object, adnd self["prop"] is the value of baked property "prop".

The following sums the three.

self["prop"] + self["prop1"] + self["prop2]"

or another way using sum

sum([self["prop"], self["prop1"], self["prop2]"])

average

sum([self["prop"], self["prop1"], self["prop2]"]) / 3

the maximum.

max([self["prop"], self["prop1"], self["prop2]"])

Or if you cannot add the properties to what you are animating, can set up the drivers the old fashioned way  with variables.  Add a single property type variable for each, select the Cube as the target object and the datapath is ["prop"] for "prop"

The expression uses the variable names, I've used p0 , p1, p2.  Similarly to above, the sum would be.

sum([p0, p1, p2])

or by choosing 'SUM' as the driver type.


How do I model something that won't be there all the time? I have a creature model in early production and I plan to make it be able to sprout wings and spikes, but not have them there all the time. How would I go about doing that? Would I have to make a whole separate model for it?

You could model the wings/spikes at full size, keyframe the scale at your end keyframe, then scale them down until they're so small that they're not noticeable and keyframe the scale at the beginning keyframe.  Then, the objects would appear to grow over time.  Just keep an eye on the point that they're being scaled about so they don't end up accidentally shifting to somewhere you don't want them.
As for modeling them all as one object or separate, it seems like modeling them all as part of the creature would make it easier to rig and animate.  The only issue I could see is if you scaled the wings and spikes by different amounts.  I haven't tried it so that may not be a problem but I would think that, as long as you scale the wings and spikes down by the same amount, it should work fine.  I have modeled different components as part of the same object by assigning them to different vertex groups, that makes it easier to select individual components.


Clay strips not working correctly When I attempt to use Clay Strips in sculpt mode, no matter what I do, there's only one place where it will add to, no matter whether I use the addition mode or subtraction mode. It will just take away from the model.
Edit: This only happens on one specific object. All other objects are fine with it, but this one specifically doesn't like clay strips.

The normals are reversed on the object for which the Clay Strip brush is currently not working. To prove this, try sculpting on the same object with any other brush. You will find that the new choice of brush will also not work. With the offending object selected, go into Edit Mode, select all faces, and press Shift + n. Now your normals are pointing to the outside of your mesh instead of the inside. You should be able to sculpt on it now.


Vertices not behaving smoothly after Subdivide This model was made by extruding 2 Bezier curves. I tried joining them at the four vertices but the subsurface doesn't work.
This is the result. I've tried to delete and recreate the vertices several ways but I always get the same or similar result.

Face orientation (normals) was the problem. Once I rebuilt the parts from scratch and made sure to extrude both wireframe in the same direction the issue went away.


How to jump higher in shift+f mode? I want to make a first-person animation using auto-keyframe method.

How can I increase default jump height in shift+f mode? Changing scene gravity just increases / decreases fall time.

Maybe some python script?

And yeah, I'm talking about version 2.8, not about BGE.

Oh, I found an answer

Just go to User Preferences and in "Input" change "Jump Height"


how to setup the opacity in the stencil brush mode in blender 2.8 I'm trying to make the projection painting of the face texture over the old one,but the new image texture is not transparent enough and I'm not able to see behind. How can I make it more transparent ? thanks...

You can look in the properties panel under the tool and see the panel 'Display' and open that, and there you can set the stencil brush opacity and toggle it to disappear on stroke.


Having an issue with mantaflow fluid simulation with flow object inside of another object So I am working on a model currently of a banana being cut open that I am trying to make have blood come out when it's cut. I have animated the object being cut by swapping out the whole object for two split halves at a certain keyframe and I have the flow object inside a smaller duplicate of one of the halves that has its normals reversed so as to allow the flow object to recognize where to collide with the object. I've played around with resizing the objects and changing the flow resolution divisions to see if that was my issue and I was able to get fluid to come out of a separate banana half object that I set in the air but after resizing my original objects, no fluid comes out of my flow object. I have the outer banana parts not set as collision effectors for the fluid so I'm not sure what is stopping the fluid from flowing. I'm attaching a link to the project here. Any insight would be greatly appreciated. Thank you.

Your domain is too big with very low resolution (divisions) ... scale down Domain or increase Resolution.

Notes:

your mesh has double vertices, Merge > by Distance M
instead of creating inner effector object by dupli banana and scale down (that results in penetrated object from original banana at the end) ...

... use Solidify modifier (before Fluid modifier) on original banana and use this object as Effector directly, so you get perfectly fitted inner mesh and simpler scene to work with

instead of Sphere for Inflow you can use Circle (or separated one banana loop), like that fluid comes from one direction (enable Flat) ... it depende how final result should looks like ...

Instead of separate animation of Inflow object you can Parent Ctrl+P Inflow object to animated Banana object to let move them together

in this example I set start of fluid sim cache at frame 34


Display frame rate during playback During playback of a video file, my configuration (2.72 on Windows 7) does not show the frame rate in the upper right corner of the Video Sequence Editor's Image Preview window.  How can I turn it on?

Go to User Preferences (CTRL+ALT+U) and check the Playback FPS box in the Interface header.


Create a folder dialog box for an addon (2.91) I'm trying to add a folder dialog box in the add-on I'm working on.
I managed to add a button that opens a folder dialog and setup the path, but I'd like to be able to see that path rather than just printing it in the console.
Something like that :

I'm currently using an operator and I found out that I need to use a Property, here's what I tried :
class project_path(bpy.types.PropertyGroup):
path: bpy.props.StringProperty(subtype="DIR_PATH")

and then tried to call it in my Panel with :
class PT_Panel(Panel):
    bl_space_type = "VIEW_3D"
    bl_region_type ="UI"
    bl_label = "Operations"
    bl_category = "Tools"

    def draw(self, context):

        layout = self.layout

        sce = context.scene

        box = layout.box()
        box.label( text = "Project Path")

        row = box.row()
        row.prop(sce.project_path,"path",text='Project Path')

But then I got that error :
AttributeError: 'Scene' object has no attribute 'project_path'

Can't find any help on that, I guess I'm not using the correct attribute, but I've tried a bunch of different things without success, am I not supposed to use the class as an attribute ?
I found this question that is relevant, but it's also not explaining where the attribute is taken from.

This is how you get it to work
Import :

from bpy.props import PointerProperty

In your PT_Panel class:

ProjPath = context.scene.proj_path
row.prop(ProjPath, "path", text='Project Path')

While registering:

classes = [project_path, PT_Panel]

def register():

    for cls in classes :
        bpy.utils.register_class(cls)
        bpy.types.Scene.proj_path= PointerProperty(type= project_path)

def unregister():

    for cls in classes :
        bpy.utils.unregister_class(cls)
        del bpy.types.Scene.proj_path

if __name__ == "__main__":
    register()

If you want to save it permanently then use AddonPrefrences
And try to improve your naming skills :

Darkfall - https://www.youtube.com/watch?v=i12oOBI3E28
Red-K Production- https://www.youtube.com/watch?v=V1gU50MKulw


What are the best settings for a video export to Adobe Premiere (CS6)? Whenever I import a video rendered in Blender into Premiere, the video in Premiere only shows a random frame from a different source for the duration of the video.

My current workflow (with workaround) is:

Put frames in Blender 2.75 video sequence editor
Render out animation with H.264 format/file format
Run through Handbrake (because when I put the file straight into Premiere the problem above happens)
Use the new Handbrake video file in Premiere

I need a way to cut out the Handbrake steps, does anyone have working render settings that I could use to export to Adobe Premiere?

What I ended up doing was following cegaton's suggestion (I don't know if I'm able to say a comment answered my question) in which they told me to import the frames as a sequence.

At first I thought I was unable to because of the frame's irregular naming pattern, but then I found this thread (https://forums.creativecow.net/thread/3/926297) which suggested to do a batch rename in Adobe Bridge to give all the frames a consistent naming scheme.

To batch rename, open up bridge, select the files you want to rename (hopefully they are already in order) and go to tools -> batch rename.


Copy scene node tree to other scenes I have a Blender file wih many scenes and I want to copy the node tree of one of them to the other scenes. From Blender interface it is a very simple task, in python I have tried using

bpy.ops.node.clipboard_copy()
and
bpy.ops.node.clipboard_paste()

with no success.

Is there any other method I can use?

Here is my code:

import sys
import bpy

def deleteNodeTree(scene, override):
    scene.node_tree.nodes.clear()

def copyNodeTree(scene, override):
    bpy.ops.node.select_all(override, action = 'DESELECT')
    bpy.ops.node.select_all(override, action = 'SELECT')
    bpy.ops.node.clipboard_copy(override)

def pasteNodeTree(scene, override):
    bpy.ops.node.select_all(override, action = 'DESELECT')
    bpy.ops.node.select_all(override, action = 'SELECT')
    bpy.ops.node.clipboard_paste(override)

def getOverride(type, regionType):
    Override = False
    for window in bpy.context.window_manager.windows:
        for area in window.screen.areas:
            if(area.type == type):
                Override = {"window": window, "screen": window.screen, "area": area, "scene" : bpy.context.scene}
                break
    if(not Override):
        bpy.context.window_manager.windows[0].screen.areas[0].type = type
        Override = {"window": bpy.context.window_manager.windows[0], "screen": bpy.context.window_manager.windows[0].screen, "area": bpy.context.window_manager.windows[0].screen.areas[0], "scene" : bpy.context.scene, "region" : bpy.context.region}
    if(regionType):
        for region in Override["area"].regions:
            if(region.type == regionType):
            Override["region"] = region
    return Override

if len(sys.argv) < 6:
    raise Exception("Usage:  blender -b blend_file --python script.py
target_scene_name")

blend_file        = sys.argv[2]
target_scene_name = sys.argv[5]

bpy.ops.wm.open_mainfile( filepath = blend_file )

#Copia su tutte le scene le impostazioni dei nodi di output prese dalla scena selezionata (target_scene_name)

bpy.context.screen.scene = bpy.data.scenes[target_scene_name]
override = getOverride('NODE_EDITOR', False)
copyNodeTree( bpy.context.screen.scene, override)

for scene in bpy.data.scenes:
    if scene.name != target_scene_name:
        bpy.context.screen.scene = bpy.data.scenes[scene.name]
        scene = bpy.context.screen.scene
        print("Deleting output options from scene: " +
bpy.context.screen.scene.name)
        deleteNodeTree(scene, override)
        print("Pasting output options to scene: " +
bpy.context.screen.scene.name)
        pasteNodeTree(scene, override)

bpy.ops.wm.save_as_mainfile(filepath = blend_file, compress=False)

I have managed to do it via the
bpy.ops.wm.redraw_timer(type='DRAW_WIN', iterations=1) hack.

import bpy

class TEST_OT_poll():
    @classmethod
    def poll(cls, context):
        if context.space_data.type == 'NODE_EDITOR' and context.space_data.tree_type == 'CompositorNodeTree':
            return True
        else:
            return False

class COPY_SCENE_NODE_TREE_OT_copy_to_others(bpy.types.Operator, TEST_OT_poll):
    bl_idname = "node.csnt_test_temp"
    bl_label = "TEMPT TEST"
    bl_description = ""
    bl_options = {'REGISTER', 'UNDO'}

    def execute(self, context):

        initial_scene = bpy.context.scene

        scenes = bpy.data.scenes.values()
        scenes.remove(initial_scene)

        bpy.ops.node.select_all(action='SELECT')
        bpy.ops.node.clipboard_copy()

        for scene in scenes:
            print(scene)
            bpy.context.window.scene = scene
            bpy.ops.wm.redraw_timer(type='DRAW_WIN', iterations=1)
            bpy.context.scene.node_tree.nodes.clear()
            bpy.ops.node.clipboard_paste()
            bpy.ops.node.select_all(action='DESELECT')

        bpy.context.window.scene = initial_scene
        bpy.ops.wm.redraw_timer(type='DRAW_WIN', iterations=1)
        bpy.ops.node.select_all(action='DESELECT')

        return {'FINISHED'}

class COPY_SCENE_NODE_TREE_PT_panel(bpy.types.Panel):
    bl_idname = "COPY_SCENE_NODE_PT_panel"
    bl_label = "Copy scene node tree"
    bl_space_type = 'NODE_EDITOR'
    bl_region_type = "UI"
    bl_category = "Tool"

    @classmethod
    def poll(cls, context):
        if context.space_data.tree_type == 'CompositorNodeTree':
            return True
        else:
            return False

    def draw(self, context):

        layout = self.layout
        column = layout.column()
        column.operator("node.csnt_test_temp", text = "Copy And Paste")

classes = (
    COPY_SCENE_NODE_TREE_PT_panel,
    COPY_SCENE_NODE_TREE_OT_copy_to_others,
)

def register():
    for c in classes:
        bpy.utils.register_class(c)

def unregister():
    for c in classes:
        bpy.utils.unregister_class(c)

if __name__ == "__main__":
    register()


Render problem. Mesh is cut on final render or in render display I used mirror mod., have 2 objects. The problem is that in final render (F12) it is cutted in some strange way. Part of the mesh is vanished, but it exists on my 'solid' view. It makes me mad. Please, help me. THx.

Sorry, im not very smart. I didnt know, that 'render' ratio, that gave opportunity to see object in render is switced off


material issue - how to make blurry/emissive material? Ok, I am creating tiny particles (there won't be a ton so doing it manually) to achieve a kind of effect like this per this question: Sun Glow Particles

However this, and in my situation, the transparent material Ive created (with just a transparent BDSF and emissive shader mixed) has a hard edge. This doesnt get the desired, soft particle effect I want:

I want something where the edges of the "particle" meshes are blurred in some places, like if you took a Photoshop brush and erased some parts. I tried volume scatter as suggested but Id like to just make particle meshes.

Is this SOFT bokeh material possible?

What I did:

To truly get transparent edges you would need to move to volumetrics and vary the density or emission based on the proximity to the surface. This can be achieved using the OSL shader described here and produces the following result :

You can vary the 'depth' by adjusting the Multiply node - or replace that and the Color Ramp with your own calculation.

Note that this method will be way less efficient for rendering since it's using volumetrics - and this is further compounded by using OSL which is not GPU compatible (so you'll have to render with CPU).

Using volumetric scatter/absorption as you would for smoke can produce the following :

Adjusting the Multiply and Power nodes affects the sharpness of the objects. You could also add a noise texture to vary the depth of the fade to make the edges appear more 'fluffy'.


Render Image renders, closes, renders again I have run into an issue where "Render Image," that should render a single image, is rendering, then closing the render, then rendering the same image again.

I only run into this odd behavior on one Blender project (Anvil Tutorial), and my other projects render correctly (single rendered image).

I have looked as carefully as I can at the settings, and they seem identical on each project. Only the Anvil wants to render over and over.

Is there some hidden button that I may have accidentally checked that could cause this behavior? See my render settings in the image --

I would appreciate any information on this. Thanks for helping a total noob who is trying to learn!

In the Properties editor, Render Layers tab, you can click on the plus sign under Scenes, and then Render Image will render once for each layer.  Could you have been in there and clicked on the plus sign, creating extra render layers?


Exporting object's rigid body sim XYZ coordinates I created a simulation of falling apples into a box.
For research purposes, I want to be able to export the XYZ Coordinates of all apples (center of mass of objects, if possible) into a dataset, only for the last frame of the simulation.

I'm new to blender, and have a basic knowledge in Python. Any direction will do nicely.

Bake, then use the matrix world translation
As proposed here Is there any way to export the last frame of a physics simulation from command line?
bake the sim, then in this case instead of exporting, run thru the objects in the scene and print their global translation.  in lieu of Formatting and writing  data to a text file
Make the origin of the physics objects the center of mass when setting up.
import bpy
context = bpy.context

scene = context.scene
rbw = scene.rigidbody_world
pc = rbw.point_cache

# match bake to animation
print(pc.frame_start, pc.frame_end)

bpy.ops.ptcache.bake({"point_cache": pc}, bake=True)

scene.frame_set(250)
#bpy.ops.export_scene.obj(filepath="test.obj")

for ob in scene.objects:
    print(ob.name, ob.matrix_world.translation)

Result on default file, cube made a default rigid and dropped
Cube <Vector (0.0000, 0.0000, -460.8643)>
Lamp <Vector (1.7122, 1.0489, 8.5606)>
Camera <Vector (5.1171, -6.4642, 8.0004)>


What's the difference between camera mapping and UV unwrapping? I came across the term 'Camera mapping' and searched for some tutorials. I found that it's just pasting the images on objects, very much like UV unwrapping.

So what is the difference?

Regular uv-unwrapping:

Camera mapping:

Camera mapping is basically a type of uv-unwrapping.
In general you use regular uv-unwrapping if you want to apply a texture directly to a face, and camera mapping if you want to apply an image taken from the perspective of the (viewport) camera to an entire mesh.


use node-generated grayscale image as texture for particles We can drive particle systems by greyscale images (as textures). Is it possible to use an image what was generated by nodes in blender for this, without saving it as an image and open it as a texture? I didn't find anything about it, I guess no is the answer, it's my last try, thanks!

AFAIK it's not possible in 2.8 and greater version. For 2.79 and less there was texture node editor which generates textures. These textures maybe - i'm not sure - used for particle system.


How to cut a mesh into smaller pieces with python? I have a big terrain object, I'm trying to write a script that cut it in smaller pieces and then I will export the pieces to other formats. This is required by a game engine because the mesh, if not subdivided at export time, is not properly culled, resulting in slow rendering.

I tried to use bpy.ops.view3d.select_border() but it fails with message:

RuntimeError: Operator bpy.ops.view3d.select_border.poll() expected a view3d region

A search revealed that select_border must be called from 3d view, probably by clicking a button. But this is not a generalized script, it is specific to this model, I will rewrite parts of it if I need it for another model. I want to run it from text editor directly.

The only solution I can see for now is to iterate every vertex of the selected object and if they are inside the defined tile size, then duplicate, separate, export, delete, and repeat moving one tile to the left, starting at object dimensions[0] / 2 * -1, dimensions[1] / 2 * -1. Iterate vertices and select them can be done from text editor.

Is there a more convenient way of doing this?

I don't think hijacking select_border() is a good approach. You could use the new bisect_plane() bmesh operator to slice your mesh.

Here's a straightforward script that slices a mesh into an aligned grid:

import bpy, bmesh
from bpy import context as C

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

bm = bmesh.from_edit_mesh(C.object.data)

edges = []

for i in range(-10, 10, 2):
        ret = bmesh.ops.bisect_plane(bm, geom=bm.verts[:]+bm.edges[:]+bm.faces[:], plane_co=(i,0,0), plane_no=(-1,0,0))
        bmesh.ops.split_edges(bm, edges=[e for e in ret['geom_cut'] if isinstance(e, bmesh.types.BMEdge)])

for i in range(-10, 10, 2):
        ret = bmesh.ops.bisect_plane(bm, geom=bm.verts[:]+bm.edges[:]+bm.faces[:], plane_co=(0,i,0), plane_no=(0,1,0))
        bmesh.ops.split_edges(bm, edges=[e for e in ret['geom_cut'] if isinstance(e, bmesh.types.BMEdge)])

bmesh.update_edit_mesh(C.object.data)

bpy.ops.mesh.separate(type='LOOSE')
bpy.ops.object.mode_set(mode='OBJECT')


Animation Nodes: How do I make text hiccup? Whether this might be challenging or not, I'm keen to study AN nodes for future uses as in motion graphics. Any assistance is appreciated. Thanks in advance.
I am not too fussy on font types or choices of words.

Below is one example that I wish to mimic with AN.

Another example is curving the words with hiccups.

The first effect is easily achieved by using an inverse delay falloff with a high back interpolation. The initial transformations of the objects are stored in an ID key, and they are added to a group then sorted by their x location:

The second effect can be achieved by bending the text when the falloff becomes bigger than 1, that is, the back of the interpolation. To get those values, we subtract one and take the maximum of zero to clamp it to positive numbers. Then this output is multiplied by some negative scalar to define the amount of bending. Finally, the Object Attribute Output node is used to write those bend factors, assuming all object have a simple deform modifier with the default name and bend type:


Inconsistent UVmap when 'follow active quads' On the UVmap where the islands are double layered is where that nasty Texture inconsistency is.
I was wondering if there is a way to 1.) Unwrap 2.) Reset 3.) Follow active quads with an even Square uv map
I'm actually using 'UV squares' Add on to achieve the same effect.
I try to turn the uvmap into a single, even rectangle or square and it will layer islands unto itself creating these texture inconsistencies
How do I get an even uvmap without it layering islands and keeping all of the proper faces next to each other?

I decided instead of making the Uv fit the image, I’d just make the image fit the UV !
I exported the uv maps into photoshop and warped them.


Split Off BMesh selected faces I have a BMesh that I loop through and select some faces. I would now like to create a new BMesh out of all the faces I just selected. How can this be achieved in python? In addition, since faces have the tag attribute which can be used by custom scripts like mine, how can a new mesh be created using the tag status of each face to determine inclusion?

AFAIK there is no native bmesh function to do this. The way I have done that in the past was to construct a new mesh manually, and propagate it to a new mesh datablock using the Mesh.from_pydata() function the Mesh datablock offers.

code explanation

First, get the mesh itself from edit mode. the ensure_lookup_table() calls are mandatory, otherwise you cannot access faces or verts by index:

bm = bmesh.from_edit_mesh(bpy.context.object.data)
bm.faces.ensure_lookup_table()

next, retrieve a list containing all selected faces:

selFaces = [x for x in bm.faces if x.select]

If instead you want to work on tagged faces, use this list aggregator instead:

selFaces = [x for x in bm.faces if x.tag]

now use two more lists which will hold the output data for our new mesh:

py_verts = []
py_faces = []

the tricky part is in the coming loop. We need to pass on a list of Vectors of vertex coordinates and a list of lists of indices of the faces in question to the from_pydata function. So iterate over all selected faces, retrieve its vertices, and add the unique vertices to the new list, and the new index of that list to the new face index list.

for f in selFaces:
    # cur_face_indices holds the new indices of our verts per face
    cur_face_indices = []

    for v in f.verts:
        if v not in py_verts:
            # this vert is found for the first time, add it
            py_verts.append(v)

        # add the new index of the current vert to the current face index list
        cur_face_indices.append(py_verts.index(v))

    # face index list construction is complete, add it to the face list
    py_faces.append(cur_face_indices)

if you require a Mesh datablock:

Declare a new mesh data block, and run the from_pydata on it to create the new mesh:

me = D.meshes.new(name = 'output')
mat = C.object.matrix_world
me.from_pydata([mat @ x.co for x in py_verts], [], py_faces)

As you can see, there is an additional step in here, which gets the world_matrix and applies it using the @ operator on each vertex coordinates. This is basically applying the transforms of the source object on the new one. Alternatively you could also set the world matrix on the new object instead:

me = D.meshes.new(name = 'output')
me.from_pydata([x.co for x in py_verts], [], py_faces)
ob = D.objects.new(name='output', object_data = me)
ob.matrix_world = C.active_object.matrix_world

if you only require a new bmesh:

You still need to construct a mesh, but from there you should be able to retrieve the bmesh easily:

me = D.meshes.new(name = 'output')
me.from_pydata([x.co for x in py_verts], [], py_faces)
bm_new = bmesh.new()
bm_new.from_mesh(me)

complete script

Here is the full script, which has to be run from edit mode with the faces selected, and links the resulting object to the scene in the end:

import bpy, bmesh
C = bpy.context
D = bpy.data

bm = bmesh.from_edit_mesh(C.object.data)
bm.faces.ensure_lookup_table()
bm.verts.ensure_lookup_table()

# get all selected faces in a list
# replace x.select with x.tag in case that's what you are after
selFaces = [x for x in bm.faces if x.select]

# construct Python faces
# this is more involved, as we have to remap the new index
# to do this, we reconstruct a new vert list and only append new items to it
py_verts = []
py_faces = []

for f in selFaces:
    # cur_face_indices holds the new indices of our verts per face
    cur_face_indices = []

    for v in f.verts:
        if v not in py_verts:
            # this vert is found for the first time, add it
            py_verts.append(v)

        # add the new index of the current vert to the current face index list
        cur_face_indices.append(py_verts.index(v))

    # face index list construction is complete, add it to the face list
    py_faces.append(cur_face_indices)

print(py_verts, py_faces)

# now create a new mesh, and add the geometry as its data
me = D.meshes.new(name = 'output')

# get the world matrix of the active object and apply it to the mesh
# this ensures same orientation as the source for the new mesh, but with
# transforms applied
mat = C.object.matrix_world
me.from_pydata([mat @ x.co for x in py_verts], [], py_faces)

# create a new object, and link it to the current view layer for display
ob = D.objects.new(name='output', object_data = me)
C.view_layer.active_layer_collection.collection.objects.link(ob)


Why is my image sequence render using an old version of my animation? Whenever I try to render my blender animation, I get this weird sequence render and uses an older version of my animation, and just creates junk files.

I'm using JPEG format, rendering into a new folder. I have tried restarting blender, saving then reopening the file, but this didn't fix it. Please help, I need to get this animation rendered so I can make sure everything looks OK from an animated rendered view.

Here is  the blend file.

I think reason you are seeing an old version of your animation is because you have an image loaded into the Video Sequence Editor (VSE), which is overriding the render.

Either remove the image strip with X > Erase Strips from the VSE:

Or, un-check 'Sequencer' in the 'Post Processing' panel in the 'Render' tab:


Making a wave texture orientate properly I made this part of the model:

What I need is to smooth the edge of the two materials. Similar to this question: How can you smooth the edge between two materials?

But the problem is that the waves orientate at the wrong direction and there should be only one wave. That means the edge (blue line) between the two materials shouldn't be like this:

The edge should be basically a circle, like this:

And this is my current node setup:

So how could I change the orientation of the wave and make the edge go for a 360°?

You need to control the texture coordinates (and you need to add a gradient texture as well).

Let's break it down.

You are not using any coordinates to map the texture. By default Blender will use Generated coordinates to map procedural texutes. Generated coordinates will put the center of the texture in the lower left corner of the bounding box for the object.

Use object coordinates, they start at the origin of the object.

]2

To learn more about texture coordinates watch Bartek Skorupa's video: Manipulate Texture Coordinates like a Boss


How can I ensure a minimal precision of 1cm in my project? I'm working on a project for some architects. I have following requirement:

The maximal allowed error is 1cm.
Many people will work on that plan for some years. I think every Object/Vertex may be moved maximal 1000 times, so the maximal error per move shouldn't be above a 1/100th of mm.
The project is 15km big on each side.

Questions:

Should I take a special value for the world scale instead of the default 1BU = 1m to ensure that precision over the years?
Are object on the border (7,5km away from origin) more problematic because of the floating point value system ?
Blender stores vertex as 32bits float as far as I know. Is that per dimension (32bit x, 32bit y and 32bit z) or the total?

Based upon my experience, there are three things be required in the project you describe to ensure a minimal precision of 1 cm. First, Blender has a maximum order of magnitude of a dimension of 10,000 units, so for your 15 km project, you're going to want the project centered about the origin point so the minimum x, y, and z dimensions are a negative 7.500 km and the maximum x y and z dimensions are plus 7.500 km.

Next, it will be good practice to break the project down into multiple objects spread across multiple scenes. If there will be a checkpoint (guard shack) at the entrance located (to pull a location out of the air for the discussion) at 4.7 km in the positive x direction, and 5.9 miles in the positive y direction, make that guard shack as one or more independent object. As an independent object, you can track the dimensions of the guard shack / checkpoint to within 1 cm (actually smaller than that) more easily than tracking the four corners of the shack from the center point. Treating the guard shack separately also allows the guard shack to be constructed as multiple objects. This will be a necessity if at some point it is necessary or desirable to make some of the parts—sliding windows, or swinging doors, for example—movable. It is possible, of course, to collect all of the bits of the guard shack, and its accompanying devices (like entry gates) into a blender Group.

There is a precedent for making smaller groups of objects, not just within the main file, but moving some objects into other ~.blend files. Even if done on a full architectural plan, the architectural materials detailing the construction of the guard shack are going to e separate from the overall site plan. Putting some elements of the plan into other groups, or blend files is simply an extension of that already standard practice.

Third, Blender allows the movement of vertices (and groups of vertices) by changing values in the numeric boxes in the transform panel of the properties (N) shelf. If you change the location of a vertex (or a set of vertices) using these numeric values, you can help maximize the chances of the precision you want. There are two caveats to this. First the numbers displayed in the dimension boxes of the Transform depend a bit upon the width of the button. If the Properties shelf is too narrow to accommodate a ten digit number (with decimal point), it will truncate (or round) the number to fit. Second you might not get the precision for each set of corner vertices of the hypothetical guard shack referred to above if you choose to use global attributes. However, you can get the center of the guard shack to within a centimeter from the global center, and if you switch to local transformation orientation for the guard shack, you can certainly come within a one centimeter level of precision in the local object or group of objects.


How can I make sharp geometric 3d models look more realistic? I'm making a scene in Blender with manufactured mechanical and electrical objects - cylinders, metal objects and so forth. I want to make these look real, be fully present with a sense of mass and substance.

3DCG has a tendency to make everything very sharply geometric, often looking mathematical and artificial. In other scenes, some organic curves, normal maps or particle systems would help make object look real. Like for example, making a simple plastic dog model look more believable, one can add more vertices for better definition, add texture layer, add fur etc.

My scene shows clean resistors, wires, metal strips and such, all sharply geometric. It's tricky to find ways to make the result less mathematical and more substantial, realistic and interesting to the eye.

What are some effective ways to add realism to these objects?

For one, you can bevel your objects.

Forgetting to bevel or chamfer edges is one of the most common errors
committed by beginning 3D artists. There are almost no razor sharp
edges in nature, and even most man-made objects have a slight
roundness where two opposing surfaces meet. Beveling helps bring out
detail, and really sells the realism of your model by allowing edges
to properly catch highlights from your lighting solution.

In object mode you can bevel an object by using the Bevel modifier and in edit mode you can bevel edges and faces with Ctrl+B and vertices with Ctrl+Shift+B. The latter will allow you to interactively adjust the amount of segments with the mouse wheel.
Using the modifier.
Take a sharp object you just made, say a simple step. It's plain, simple and ugly when you look at it and would look out of place in almost any scene aiming for realism.

Once beveled, the edges are softened and it just looks more appealing as this is what we are used to in real life. This can be a very subtle effect or an exaggerated one as essentially it just helps to catch light and help show off the shape and detail of the object better.
(It can be a bit hard to see in the viewport at times with the default lights but makes all the difference when rendering with proper lamps)
Here is the bevel modifier with some optimal settings, increasing the value in the Segments slider will make the edge geometry start to approach what is more commonly called a Fillet, effectively rounding your edges. Do be warned however, as adding extra segments creates additional geometry.

Here is another look at how beveling effectively softens your edges.

Some advantages of beveling over other methods are:

It's cheaper than subsurface, meaning it renders faster and weighs down your scene less.
For hardsurface models, it softens or adds realism to your edges easily and effectively.
It's faster to do and gives you more control when compared to other methods such as using creases and or subsurf with edgeloops.

At the time of writing, this is now easier than ever. Cycles will have a Bevel Shader.
Example from Mike Pan on twitter.

Resource links

Example renders https://developer.blender.org/D2803#65805
Discussion thread https://blenderartists.org/forum/showthread.php?436279-V-ray-got-rounded-hard-edge-shader&p=3230688#post3230688
More discussion and examples http://polycount.com/discussion/comment/2570081/#Comment_2570081


Why the texture is not glowing I have created a tail light. With the material and texture i have setup.

What is missing in the nodes. Im not getting glow from the emission nodes. I have increase the strength of the emission but cant see  the texture from it.

How can i get a bike head light glow and emission from the above nodes. Any suggestion or help. Thanks

More emission

First of all the emission is obviously working:

[

so the question would be in my opinion on how to make it more obvious that there is an emission going on.

Here I suggest two routes:

First, adding additional geometry, that the light can actually illuminate(scatter or reflect upon). So once this is put in a scene the problem will solve it self.

If the object needs to be standalone, you can add a plane for it to rest on and add lens effects that make the illumination bounce in the camera.

Also tweaking the filmic color management might give you the desired effect.

Here is my short effort:

see here and here for reference

This part might also be interesting


How to "Hide a Collection in viewport" but not "Disable in Viewport" via script in Python Hi Blender coders and artists.

I am updating one of my add-ons for Blender 2.8 and have run into some  issues finding the appropriate way to hide a collection that is added to my scene.

I want to deselect the eyeball on the toolbar with a python command in a script but I don't want to disable the collection in the view-port entirely as it is used as a collection in a particle system.

I just want to deselect the eyeball circled in green below.

Anyone know the python API for this?

You can hide the active collection using the following code:

bpy.context.view_layer.active_layer_collection.hide_viewport = True

If you want to hide more than the active collection you will have to iterate through the children of layer_collection

collections = bpy.context.view_layer.layer_collection.children

for collection in collections:
    collection.hide_viewport = True

Be aware that bpy.data.collections and bpy.context.scene.collection also allow to access the collections and set hide_viewport. However, since these do not depend on the active view layer, they apply globally and therefore activate Disable in Viewports.


Where can I find the source code of sculpt mode? Im developing a new behaviour for sculpt mode, but I couldn't find the source code.

How can I view and/or edit the source code?

Sculpt mode isn't developed in Python, it's in C. It can be found that in \source\blender\editors\sculpt_paint.


Why can't I select multiple objects? I am currently unable to select more than one object at a time for some reason. I have object mode selected. I then use shift + LMB (mouse buttons swapped from Blender 2.78 default). But the select just moves to which ever object I select and deselects any object I had already selected. I also tried box select, which now selects nothing. I have applied transformations as I know unapplied transformations can make things screwey. It was working just fine earlier. Any help would be much appreciated.

OK the problem was the theme. With ScienceLab theme the colour of selected and unselected objects is too similar for my eyes. Had to modify the theme.


Render the same frame using multiple computers Is there any way to use Cycles to render a frame with two computers? I have a desktop PC and a laptop, both with a GTX 1070 and I would like render the same frame having 2 tiles, each tile being a graphic.

Distributed rendering is not built into Blender. Instead, you can download this addon called CrowdRender and install it for Blender. The addon helps you do renderings on multiple machines in parallel. You can follow the steps described in this video to install the addon and use it for rendering. The addon already works with Blender 2.8 and can also use EEVEE for distributed rendering.


Find submesh and replace with instances I have a lot of meshes of different houses, each house is a single mesh, but parts of this single mesh has some repeating features, such as windows, doors, etc.

I am looking for a way to reduce the poly-count of the mesh, since this will be used in a (Unity) game.

Is there any simple way to select a single piece of the mesh (E.g. a window), separate this into another mesh, and let blender find similar shapes (may be rotated) in the original mesh and replace those with a linked duplicates?

you can write a script to separate every object into loose parts.
Then for every object do a unit_test_compare with the data of the other object if the result it's "Same" then make it a linked duplicate, but before copy the world matrix to not loose the position scaling and rotation and apply it to the newly linked duplicate
ie.

print(firstObj.data.unit_test_compare(secondObj.data))

will yield to the string "Same" if they are the same and "Number of verts don't match" for different objects

Let me know if this is not enough

edit : possible duplicate answer


How to align a single bone between two animated empties I want to align a single bone along the thought line between two empties in a way, that it can be animating along this line. The empties are animated also.
I tried to add two IK-contraints, one using the "tail" of the bone and the other don't and as targets the according empty, but this does not work.
How can I acchieve it?

Aligned Bone -
This is similar to the 'Rubbery lines' project in that a curve-path with just 2 control-points (one at each end) is strung between 2 moving empties.  The northern empty is a hook which stretches the path between them.   (Blend file below)

To set it up -
Place the empties and animate them around scene as desired.  (call them  H nth  &  H sth?)
Add a Nurbs path, goto Edit mode and delete it's 3 intermediate control points so there are just 2 remaining.  One at each end.
Set the path's Origin Point to the starting end. (see it's arrows in Edit mode)
Move the path so it's reasonably aligned between the two empties and that it's starting end & OP are near the southern empty.
Select this empty and with SH-S, set the 3D cursor "to selected".
Select the Path and use SH-S again --> "Selected to 3D cursor"
The path's starting end should then be sitting exactly at the southern empty.
Make the empty a parent for the path.  (CTL-P)
Give the path a 'Track-to' constraint and have it 'looking at' the Northern Empty.
When played, the path should be attached to the southern empty and always looking at the northern one.
-============-
To keep the path stretched between them -
Goto frame 1 and Select the path.  Go into Edit mode and drag the end CP up so it reaches the northern empty.
Check from the top & side views (in ortho view) to see it's aligned properly.
Hook the northern empty to the path's northern CP. (CTL-H)
Play the animation again and the path should now reach both empties at all times.
-================-
The  Bone -
At frame 1 place the bone at the path's center or wherever it's required.  Align it to the path reasonably well.
Parent the bone to the path. (child = bone)
In this example the bone was simply keyframed to keep it reasonably at the center of the path but a driver or short script may well do this automatically.


Noob lighting question I'm trying to recreate this render:

But my render is coming out much darker:

I'm using the cycles renderer in the 2.8 beta. It's a sun light with a light gray world color. The colors are just colorpicked from the reference images. I notice that he has very sharp shadows here which would mean maybe using a smaller light source instead of a sun? I'm not really sure. Any help would be appreciated.

I darkened the world color found the sun lamp strength slider hidden behind the "use nodes" option. Both of these combined made for a much better render! Thanks!


Grid floor disappears and cannot see outline of selected objects What did I do? I somehow changed my view setting and I can no longer select anything with RMB. Please see screenshot:

You have ticked an option that displays only objects that will be rendered. Open the Properties panel with N and untick Only Render under Display. You can actually select objects (the 3d manipulator widget is still being shown) and move them as normal, you just cannot see the visible outline.


How to create a 3D LSystem? Does anyone have any advice on how I could create a 3D LSystem in Blender? Preferably using a generative or automatic method. A 2D example below:

Step 1)  Make a plane then enter Edit mode.

Step 2)  Use Alt + m to merge the points of the plane to a single point.

Step 3)  Use Ctrl + mouse-click to extrude points out.(Which mouse button depends on whether you have right or left click as default... I think...)

Step 4)  Add a sphere to a different layer

Step 5)  Add a particle system to the lines using the settings that I've circled in the following image.  The image also shows what an OpenGL render will look like using the default settings.

(remember to right-click any images that are difficult to see and choose -> 'View Image' to see the larger version)

Now add a skin modifier and using default settings, enter Edit mode and select all the points.  Now scale all the points using Ctrl + A, so far as I know this is the only tool that uses Ctrl + A.  Normally scaling is done with s or by normals using alt+s.

That's pretty much it except that I did apply the Particle System in the modifier tab and since there may be overlapping spheres at some of the 'tree' vertices, you may want to join all the spheres then enter Edit mode, select everything using a and then use the Remove Doubles tool to clear up any overlapping vertices.


My Blender quits after I switch to "cycles render" I am new to Blender, and when I change the render options from  "blender render" to "cycles render", my blender quits itself, and I have to reopen it.

My blender is the latest version (2.75a), and my computer is a 64bits Windows 7.

Could anyone please advise me on this issue?

Best,
Matthew

You should report it, just in case there's a bug. Versions with number + letter (like 2.35a) have critical fixes, but almost certainly still have bugs that should be reported and documented.


How to apply custom textures I'm new to Blender and was just messing around with the texture tab. I've created a very simple texture and can't seem to figure out how to apply it.

Everywhere tutorial I find always talks about adding an image as a texture. That's not what I'm looking to do. I simply want to apply this texture to the basic cube that Blender opens with. How can I accomplish that?

Your texture you have here is a brush texture. You need to add a new material to the cube and the add the same texture to the material node tree, possibly recreating the settings you have here as a brush.


Save single FireSim Frame I am currently running Blender 2.82.7 and made a fire simulation in one .blend file, which I need to carry over to another .blend file, which will be rendered as a still image, so no animation over there.
Question is:
I now have a good looking frame for the fire, is there any way I can preserve this specific stage of fire simulation forever, so I can take it around and place it wherever I wish, without having to worry of it still being a running simulation?

Thanks for reading. Stay healthy :)

If you bake only up to the desired frame, that is the easiest solution.

As reference in the comments, this does not appear to be possible.


Array light set to 100k strength isn't bright enough I have an array lamp set facing up a, moved down a bit so it will give a glow on the top edges. But no matter how big I make the number it won't make it brighter. I can't move it any higher up or else the camera will see a dark spot under the light. How can I fix this, and is there a better way to light it? Im using cycles.


Blender renders everything pitch black I am trying to render out an image of a character I made, but when I render it, it acts like there is no light of any sort in the scene, I have tried the different lamps, turning on and off ambient occlusion, and emission planes, but none have worked. edit (It's not blank, the model is just black the background is still the right color.)


Any way to make the mirrored mesh more idiomatic? If you turn on the edit cage for the mirrored side, then if you try to move the mirrored side vertices, they actually behave as if you were trying to move the non-mirrored side, i.e. (assuming you're mirroring the x-axis) you have to move the mouse left if you want to move the vertex right and right if you want to move it left.

VERY confusing and super annoying. Is there an  addon or something that changes this behaviour so that you can move the mirrored vertices as if they were actual vertices?

No, there is currently no way to do this. You only select the vertices that you see on the geometry generated with the Mirror modifier, but what you transform are the original vertices.

You could temporarily mirror the whole object by multiplying its scale by -1 on the mirroring axis so the original geometry is on your preferred side. You can just enter -1 after pressing s followed by the axis, in this case x in object mode, or you could also use the dedicated Mirror operator(Ctrl+m) to do this, or just enter *-1 in the numeric input field in the n panel, Transform tab, under Scale or in the Properties Editor's Object tab.


Light-emitting object on transparent background, rendered as .PNG has "low bitrate" artifact in video. What can I do? [EEVEE] I'm making a horizontal frequency-visualizer in Blender Eevee (because it's fast and it has a nice bloom effect, which will be important later) using the Bizualizer add-on.
Since I intend to put it on a video, I figured that a PNG with transparent background would be the easiest to do. Since I wasn't familiar with Eevee, I looked up how to make the world transparent in the render, while maintaining the bloom effect. I ended up using these nodes, and it worked (not my screenshot).

I rendered out some frames for testing, imported the pics into Premiere Pro, And what I noticed was that the "bloom-part" of them had this weird "choppiness"

which I know happens when an image has a bit-depth of only 8 bits (or at least I think that's what it is). So I tried to render it out in 16 bits, but the result was roughly the same. Then I tried adding some dither in the mix, but it didn't really make it better.

Now, I guess I could just do the whole thing in Blender, I mean, I could put the visualizer on the video inside Blender, but it would be easier for me to just render it out as images and then do the rest in Premiere. And also, I'm simply curious what could cause this issue.

Thanks!

Thanks, Susu, it worked! I rendered out a couple of frames in OpenEXR, imported it into Premiere, and after messing around a little bit with the blend modes, I found that the one called "Lighten" seems to be working perfectly, the bending is gone. Thank you!


Environment for implementing/testing Computer Graphics algorithms I need to code up a computer graphics algorithm for Surface Registration.

Briefly surface registration is the process of finding "optimal" one-one correspondence
between surfaces, where the meaning of optimal depends on the specific problem.

I do not have much experience with Computer Graphics software, and so I was looking around
the web for a good software environment to code my algorithm up in.

One promising option I hit upon was Blender, which to my delight also has a Python interface to it.

My questions are

Is Blender + Python a good software environment for implementing and testing computer graphics algorithms?
If not, are there better alternatives to it (hopefully using a Pythonic interface)?
Are there any particular points from your experience
which I should keep in mind while using Blender (or whatever package you recommend) while implementing/testing my algorithm?

Brief Answer

Yes (but it depends, read on...)
Not that I know of, you can use PyOpenGL, NumPy etc together though.
Yes, automate testing your algorithm. while interactive tools like blender are nice, try to setup your workflow so you can spend most of your time programming (rather then pressing buttons in blender), This is well supported but not necessarily obvious at first.

Longer Answer

There are pros and cons with using Blender for testing cg algorithms,

Of course it depends entirely on what you try to solve however I've found it very useful in some cases, even developing Blender its self I sometimes test algorithms in blender-python first before porting to C.

Pros...

the viewport for navigation and inspecting results.
meshes can be created to visualize data without having to write drawing code, they have vertex colors UV's and any number of weight's per vertex, so you can  store useful data here.
mathutils python module, handy modules for graphics math, written in C...
other modules (you're not limited to blender modules), see NumPy.
realtime updates, I don't want to over emphasize this since it can encourage not thinking enough and just guessing, BUT - it can still be valuable.
the power of a full 3d application at your disposal, so you can spit out ray-traced images, run operations like convex-hull or booleans on and see the result.
format support, this may seem uninteresting but being able to load data from all sorts of sources can save you time writing your own loaders, with support for animation, mesh formats, image formats, even sound.

Cons...

Python is slow, for algorithms that require speed such as image manipulation or very large data-sets, I wouldn't recommend it, though for testing, speed can sometimes be overlooked so its not useless either for this task and if you are clever you could use NumPy to load in larger datasets.
Blender has limited data support, so for example, colored-point-clouds and user-defined-voxel structures are not supported, and nurbs only have limited support. If you want to display data that happens not to fit well into a mesh, meta-balls, curve ... etc, then using blender becomes less of an advantage Note that Python can call OpenGL directly, but its not that convenient.

Listed some example usage...

Console for fast feedback

You have access to the python console which can manipulate data and get fast feedback, for testing small snippets I find it quite handy, There is also the MathVis addon you can use to show points, lines, matrix types etc in the viewport.

If you come up with something useful you can Copy as Script from the menu, which strips out the '>>> ' prefix to make the input useful as a script to further develop elsewhere.

Realtime Updates

Blender can easily be setup to run your code in a loop, and update the viewport.

Here is an example, After running this script, play the animation.

import bpy
import os

filepath = "/path/to/my_script.py"

def run_script_on_frame(scene):
    global_namespace = {"__file__": filepath, "__name__": "__main__"}
    with open(filepath, 'rb') as file:
        exec(compile(file.read(), filepath, 'exec'), global_namespace)

bpy.app.handlers.frame_change_pre.append(run_script_on_frame)

Ability "Use" Your Algorithm

Again, this is only useful in some cases but you may want to make some testing code that uses mouse input for example, maybe to change the values the algorithm (to check for jitter) for example and to get a feel for how the algorithm works.

For example in the case you give, you could have 2 meshes and move them, drawing a line between the 2, constantly updating.

This can be done by writing an Operator, or a Modal Operator, see templates from the text editor.

Run outside of Blender

Having to use Blender can be a hassle and you may want to stay in your python editor, in some cases I've setup Blender to render output, used with an image viewer that auto-refreshes, it can be quite quick to execute the script and see the result without touching blenders UI. See Tip: Don't Use Blender


Blender Viewport and Workspace Reset? I'm new to blender and I tried to follow a tutorial and I'm pretty sure, I messed up the entire workspace of the blender.

Here's my current screenshot of the blender.

How am i supposed to get back to the default UI of blender.

Thanks :)

Please save your file, close blender and re open it, open your blender file and un check the Load UI check box as shown below:

More details can be check here


Modify properties in the .blend file (command line) I'm writing an application which will display a nice looking 3D model of a building. The building will have some areas which will change their color depending on some data points provided by the application.

The application will invoke blender's command line rendering feature to generate a PNG out of the .blend file, which then can be displayed in the UI.

The point where I'm stuck is how to change some material colors in the .blend file.

All hints are appreciated.

The following command line will do the job (-P will run the given python script before rendering):

blender -b OG1.blend  -P ChangeColor.py -o Render.png -f 0

ChangeColor.py:

import bpy

bpy.data.materials["NameOfMaterial"].diffuse_color = (0, 1.0, 0)

The value ranges for the color channels are [0 to 1.0].

Thank you for your help, poor! Blender ist just too awesome! <3


reload interface while keeping data? I'm still learning the new 2.8 layout. I screwed up my interface somehow and I can't scroll in / out.

I try doing load startup file, but it resets me back to the default cube.

How can I reset the interface while keeping the model I've been working on ?

You can save your project file and then (re-)open it without loading the stored UI. This can be accomplished through File > Open with the Load UI option unchecked.


Should my character face y-forward? I've been using Blender for years. Before when I pushed NUM 1 I would be looking at the character's face. CTRL NUM 1 would show me his back. It worked for me, and never mattered in the larger scheme of things.

Question: Have I been doing it wrong? Is Positive Y the direction the character must face?

those shortcuts activate view alignment modes named "front" and "back"

so I can't see why you feel they could be wrong, even if those are just names, and you can choose whatever (even to work not aligned to anything, but of course it helps...)

that said, some symmetry related tool considers the default (sometimes the only possible) symmetry around X axis, so that the object shape is considered mirrored on the +Y and -Y axis

This is clearly the case of "humanoid" features (like a face) so it seems to be considered the best choice, imho.


How to make this colorful shiny bubble in blender2.8? (iridescence) I want make something like this but have no idea

You could use a shader like this. I find it works best with the Blend Mode set to "Alpha Hashed" (highlighted). I also found equally pleasing, but different results by using different inputs for the ColorRamp Leading to the Emission. The ones I found to work best are Position, Normal, Tangent, True Normal, and Reflection (also highlighted). Make sure bloom is enabled for the full effect. Make sure to rotate around the sphere as well, as the colors change based on position.
If you're wondering, the Noise Texture I used as a displacement is just to give it a bit of a "warped bubble" look to make it look more natural and to show off the colors better.


How to compile a stop motion movie in the VSE with python? I have a ASCII text file, which holds the data for combining images into a stop-motion movie as follows.

Length_in_second/100|filename.ext|x|y in pixels
50|ImagePhoto.jpg|0|0
100|NextPhoto.jpg|0|2

How can I load all photos into Blender's VSE?  I need to show ImagePhoto.jpg on screen trought 0.5s (first photo)
next for 1s. ... etc.

If it is possible I would like to save the images back to a similarly syntaxed ASCII file when I edit length position etc. in Blender.

The following script reads your control file (extended so that # is used to mark comments):

#Length_in_second/100|filename.ext|x|y in pixels
50|0001.png|0|0
100|0002.png|0|2

The script read the file names from the control files and add image strips to the VSE

import bpy
directory='X:\\New Folder\\'
filename= directory + 'control.txt'

# adapted from blender.stackexchange.com/questions/6101
old_type = area.type
area.type = 'SEQUENCE_EDITOR'

start = 0
for line in open(filename):
    line=line.rstrip("\n")
    # skip comments
    if line.find("#") == -1:
        time,image,x,y = line.split("|")
        # / 10 because 50 eq. 500ms; * 25 for 25 frames per sec
        duration = float(time)/10*25
        end = start + duration
        bpy.ops.sequencer.image_strip_add(directory=directory, files=[{"name": image, "name": image }], frame_start=start, frame_end=end, channel=1)
        start = end

area.type = old_type

Something like this should work to get the values to update an edited file:

for s in bpy.data.scenes[0].sequence_editor.sequences:
    print("%d|%s|0|0" % (((s.frame_final_end- s.frame_final_start)/2.5), s.name ))

In order to print to a file see my answer here:How to export list of prop values as txt to a certain folder? And how to import them back?


How to apply Subdivision Surface for fluent bone animation I created simple model with Subdivision Surface modifier and I also added some bones to animate it. Now I need apply the modifier in order to have fully prepared model, but I encountered a problem with animation: before I apply the modifier, the model is animated correctly, i.e. polygons which are near end of animated area are animated fluently, but if apply the modifier and then animate, these parts are transformed exactly as the rest of animated area, which creates ugly glitches. Clearly I need to add some "weight" to vertexes at the end of the area (less then one).

So, my question is: how can I do it automatically during application of the modifier?

For better description, see the image bellow:

Top right: original model.

Top left: model with Subdivision Surface modifier.

Bottom left: correctly transformed model (this is how it looks like and animates if I don't apply the modifier in Blender).

Bottom right: glitched model (this is how it looks like when I apply the modifier and then animate; note: at the same time this is how it looks like when I switch order of modifiers, which is what I would expect).

Notes:

OS: Windows 7
Blender version: 2.70
Why I need to apply the modifier: it shouldn't matter why, but because there are people who will try convince me that I don't need that, here you are: I want to animate the model in Unity 3D which animates the model badly - it first applies the modifier and then the animation is glitched. I want the model to be animated in it correctly.
Yes, the model is from a tutorial, not my original work (but I created it).

Edit: requested weights:

Description (from top to bottom):

Model without applied modifier.
Applied modifier.
Applied modifier and rotated with given bone.

My first suggestion is : don't apply the subdivision surface.  Leave it in the stack.  "don't apply the subsurf" is a rule people have come up with after years of watching dudes drive off that cliff.

If you must apply the subsurf, you can probably work around this problem by adding a second bone.  Call it "body" or something, and make it own the unowned vertices in the head and shoulders.

If you apply the subsurf modifier AFTER you have a body bone, it will probably create some counteracting weights to keep that shoulder from gnarling up.

You might have to ensure there's an edge at his neck that is owned by the body bone and not the arm bones.


Bevel Perfectly Round Corner Irrespective of Face Length In this screenshot, I have a rectangular-shaped mesh that is taller than it is wide:

I am trying to get a perfectly rounded, symmetrical corner using the bevel tool.  Using the green cylinder as a reference, I have green arrows to show where I want the bevel to begin and end, and the red arrow shows the actual endpoint of the curve.

It appears that the bevel tool takes into account the lengths of the affected faces, among the other settings, when determining where the bevel begins and ends.

Is there a way to have the bevel tool constrained to keep the curve symmetrical regardless of how long the faces are?

I did try unchecking the Loop Slide option, but that didn't seem to make a difference.

I know that I can set edge loops to constrain the placement of the bevel begin and end edges, but I truly hope that there is another, simpler way to create perfectly round corners. In this simple example, I would have to do that for all four corners of this mesh, and that seems to be a lot of unnecessary steps.

Thanks to @moonboots, I discovered that it was indeed the un-applied scaling that tripped me up! Once I applied the scaling and tried the bevel tool again, it worked as I hoped:

I wonder how many times it will take me to learn this simple lesson?


How to randomise rendered frame Is there are way to render frames randomly from inside the blender interface?

I'm rendering for a project being coordinated over dropbox, the dropbox synx isn't as fast as I'd like and even with the overwrite setting off, we keep rendering the same frames. Randomly allocating frames will (at least initially) cut down on overwrite.

No there isn't a way to render a frame randomly - built-into Blender,
although it wouldn't be so hard to write this as a Python script.

However using no-overwrite with an online file-system seems like asking for troubles, in this case its probably worth looking into some kind of render-farm software.

If you know the total number of computers beforehand, you could give each its own frame-offset from the start and use a frame step, so they're not going to re-write each-others files.

See the --frame-jump and --frame-start option, to offset relative to the frame start.
 https://www.blender.org/manual/advanced/command_line.html#command-line-arguments


Would it be possible to create a new constraint "type" with python? Obviously it is possible to add new mesh "type" with python in the list of create mesh. I think I read that it isn't possible to create a new "modifier" type with python. What about constraints type (like a 4th kind of "track to" for example)? Would this be possible to do in python and if yes where should I start to look at in the docs ?

Thx a lot,
Stan

Almost three years after ..., I was wondering if that is still the case ? Are we able to create new modifiers or constraints types with the python API in 2.78 ?

Currently we don't support Python constraints (though they were supported at one point in Blender 2.4x).


Blender Game without python? Is python necessary for creating any game in blender, or can I create a game in blender ONLY with Logic bricks (Sensors, Controllers & Actuators) and no python scripts?

Yes, you can describe the game's behavior with logic bricks only.

Be aware some behavior is not possible to be described with pre-defined logic bricks. The custom Python controller allows you to deal with that.


Shading after Boolean How do i fix this kind of shading after using boolean mod?

EDIT:

I can make the shading better by applying the modifiers and fixing the topology this way.

I guess there are 2 main ways to do it in a clean way: with Boolean or with LoopTools > Circle.

With a Boolean modifier you must make sure that your boolean object is well placed and has the right amount of vertices. You will probably make some vertices merge. Don't forget to bevel the ring so that it stays clean and sharp.
With the LoopTools > Circle tool, you must first delete some faces, use the LoopTools > Circle, then extrude inwards and close it manually.


Wrong X coordinate with the local coordinate system? I would like a little bit of help with Blender 2.8. I don't know why the X coordinate of the highlighted vertex is -2 in the local coordinate system ? I think it should be something like -3.4 ?
Y and Z seems ok, but not the X.

In object mode, do Object/Apply/Scale. The local coordinates will now match the global coordinates.

Scaling an object in Object mode isn't a good habit, especially with non uniform scale (ie, not the same scale on each axis). You should avoid this, except if you have a good reason. Instead, you should scale your object in Edit mode.


Appling a material to selected faces only I looked at this SO question to apply my material to only one face however the material is applied to the entire mesh.
What have I done wrong?

As-salamu alaikum !
You have to create a separate material by clicking on the + button. And then select the faces which you want to have the new material, select the new material and click assign. You're done.


Position, Rotation and Scale blocked when I imported model with animation, any help? I recently made a polar bear model with an animation that I wanted to import into another Blender file, but when I imported it over using FBX (the animation stayed which was good) it's scale etc. cannot be changed and always returns back to the original imported state.
What am i doing wrong?

I faced similar issue once, but It turns out that my position rotation and scale parameters in the Item Transform property panel was locked. U can try unlocking it.
But since this is an animation, I would advice checking your scale in each keyframe to make sure that its not changing.


How do I move the pivot point of a given object manually, using the blue/green/red arrows? So I want to not just center the pivot to the Mesh (which was possible using this menu)  but also to the bottom of the object, where it touches the grid. How do I do this manually or by entering values by hand into a box?

The best way I can see is so:

Create an empty and move it to the position of where you want the object origin
Press Shift S --> Cursor to selected
Select your object and go to: Object --> Transform --> Origin to 3D cursor

Ta Da,
Magic :-)

Hope I helped and best of luck,

BFB


Unfollow a path (opposite of ctrl+p) I have an object (text) following a path in an animation, but when I move or size the path the object is resized too.

I would like to edit the path without affecting the object but cant see an "unfollow path" option.

Most of the hotkeys for basic commands in blender are structured the same:

Ctrl+Key > Command

Alt+Key > Inverse of the command

Shift+Key > Alternative of the command

In your case to clear the object from the parent is Alt+P


Add color noise to render I mostly do video compositing, where I insert objects into a tracked clip. I want it to look as realistic as possible and on closer inspection one can see that the original footage has noise (red, green and blue) but the rendered objects don't. Is there a way to fake that in cycles?
It's supposed to be some sort of hologram table. Nothing fancy, just for testing so far.

You can use texture and color mix node to add noise, same way you would add it to the material. Can find answers/videos from quick search through google even from this stackexchange (link) - I would look into 2nd answer because with the first one your noise won't change through frames. If you want colored noise you can use color ramp between texture and color mix node (and maybe change mix mode?).


Unwanted flickering in rendered animation I have made an aquarium with some youtube help then rendered to see if it's Ok (and it's not).

My video to check: https://www.youtube.com/watch?v=J6HydYXtbdk&feature=youtu.be

You can see on the video that it's flickering (like the bottom of the aquarium). I don't know why it's happening.

My render settings are FFMPEG VIDEO with 30 fps.

A slight modification of Laurent Roro's solution worked for me. I changed camera Clip End first, but the flickering remained the same. I then changed camera Clip Start, and the flickering completely disappeared. My scene had objects from a little over 100 feet from the camera to 7 miles back, so the default (?) setting of just over zero for Clip Start apparently caused a lot of flickering on the distant objects.
Update: In reply to Ben's inquiry, while I don't have the scene in front of me right now for exact numeric values, I lowered the Clip End to a little beyond the farthest object. Like I said, that didn't really change anything for me. I just now opened Blender on my work machine, and I see that the camera defaults to a Clip Start of .328 feet. I'm guessing the reason mine started out far lower might be a result of importing the camera from After Effects. Anyhow, I changed Clip Start to 100 feet, since the nearest object was at 140 feet or so (can't recall). My reasoning was that it might be similar to the old shadow maps in Blender internal, but that's not a very scientific line of reasoning, or an explanation. Anyhow, the difference was dramatic. I had a particular, low roughness tower in the background that had been flickering like crazy, such that the entire tower basically changed shades of gray from frame to frame.


Unable to install molecular addon in blender. cmolcore is undefined I have tried to install the molecular addon on windows 10 and ubuntu 18.04 on blender 2.74 and 2.79 and rebuilding the 64 bit version of cmolcore (succesfully) through the scripts provided in the github source but cmolcore is always undefined upon trying to run the molecular simulation. The older release files work but they arent the newest versions and are more cumbersome to work with, and the newest source code doesn't work. I am a a loss as to what the problem is and have searched for a solution but installing Visual Studio redistributables and downloading releases from the pyroevil site (which is down) doesn't work.

The molecular addon created by Pyroevil has not been updated for several years.

You can find a couple of forks of this addon, the one by scorpion81 has been updated to work with 2.80 and also has a branch for 2.79. There is another fork by PavelBlend that has more recent changes. Both of these offer some pre-built copies of the addon from their releases page. If you get a git snpahot of the addon then you will need to compile the addon to get it working, you will need cython and a c/c++ compiler for that.

If you have no luck with these forks, you might want to report an issue to one of these projects on github to see if they can help you.


Animation nodes "object attribute input" color is not updating I want to get the color of an object on animation nodes via the "object attribute input" and "color" as attribute.
However, when I change the color of the object, the output of the node remains at the old value (which was white 1,1,1,1 in my example pick below).
Which settings do I need to change to get the color output updated?

You're looking at the wrong color. The object.color attribute refers to the object's viewport display color :

If you want to get the particular value of an input socket of a particular node in the node tree of a particular material, you need to use :
material.node_tree.nodes.get("Principled BSDF").inputs[0].default_value
I suggest using an Expression node to do it. Example :

Result :

Another way to do it, is to link the object viewport color to your principled bsdf. Then you can keep your AN tree :


Vertex out of position in sculpt mode! While I was sculpting a model I noticed a vertex has gone way out of whack and gone inside the model and will not move back to where it should be by using brushes.

It is a vertex generated by the multi-resolution modifier, below is the vertex in question:

Base mesh without modifier:

It did not happen immediately and I am not exactly sure when, it was after 5 or so hours of sculpting I noticed it and it wouldn't have gone unnoticed for a too long. I believe it may have occurred when I was using the Crease brush if this helps.

If anybody knows how to fix this it would be much appreciated, I don't understand how this has happened to one side and not the other also, as it should be mirrored.

Many thanks!

Epiphany hit me and I just deleted the faces over the point in edit mode, switched back to sculpt mode, grabbed the vertex with the "grab brush" and pulled it back to the outside, filled the faces back in in edit mode and then smoothed out the mess that made back in sculpt mode.

Pretty much what Todd suggested!

All good now!