How do you change opacity of grease pencil strokes in blender 2.8? I actually have 2 questions, how do you change the grease pencil opacity and how do add another layer? The old grease pencil supported layers but now it's a grease pencil object, how does this work?

Okay I guess I am going to answer my own question. Because grease pencil is its own object now the color palette is no longer there, each grease pencil object will have its own material. If you want to lower the opacity you have to go Materials and under stroke click on color and lower the alpha channel. As for making new layers, you can just make new keyframes.

Edited: I was mistaken there is another way to decrease the opacity, if you click on the grease pencil icon on the left side of the material tab you can also see the old layer opacity.


How to set a principal point for a camera Pinhole camera model includes a principal point (just to be clear, it appears here: http://en.wikipedia.org/wiki/Pinhole_camera_model)

Is there a way to set these camera param s.t. it will be used for rendering an image?

Thanks,
Alex

I'm not entirely sure what you're looking for, but it sounds like the lens's Shift properties.

Here's the default settings:

And here's the same camera with an X-axis shift of 0.2:

Note that this is not the same as simply rotating the camera - adjusting the Shift doesn't change the perspective. You can think of it as if you had a larger image and you cropped a side of it off.


Create a energy beam I have the following objects. The cage of the lamp is one object, and the dome is the other. How would I go about having the dome emit a beam of energy or light? I am using Cycles Render
Clarification: like the beacon in wreck-it-ralph

If you want it simple you could use a cylinder with an emission shader to it. With compositing you could apply a glare node.


Edit STL file and perform a very simple cut My goal is simple and as I have seen, there are multiple methods to perform a mesh "cut" but most are examples using a simple cube or sphere object.

Being brand new to 3d prints, there is an object on thingverse that allows for customization of the design.  I want to remix and improve this design by adding a simple opening "cut" in the strap buckles that is commonplace to allow strap insertion at an angle without having to rethread the entire thing (in addition to what the online customizer also allows me to adjust).  Pretty simple stuff. Until I launched blender. :)

I want to cut about a 2-3mm diagonal line through the outer buckle on each side.  As I understand it, the ways to do this are try to create cube objects, somehow transform it after rotating and moving (which I still cannot even figure out how to do easily) then using that object as a delete "template" to carve out that shape from my target.  Or, theres the knife tool. Or, there's the knife "project".  Or, there's the boolean way.

I use Photoshop extensively, I am not an artist but am very adept at photo and video editing etc. but not a CAD guy and I cannot seem to get this thing cut properly.

Well, as you seem to have discovered, there is no shortage of possible ways to go about this.

Without going into too much detail, I would probably use a boolean modifier in this case. To do this:

Import your STL file (File > Import > STL)
Create an object roughly in the shape of the hole you'd like to create in the STL.
To do this:

Add a cube (⇧ ShiftA> Mesh > Cube)
Scale it on the X axis to make it thinner (S to scale, X to restrict the scaling solely to the X axis,  LMB or ⏎ Enter to confirm and exit the scale operator)
Grab (G), rotate (R) and scale (S) the cube into position such that it intersects the buckle object where the hole should go.

Add a boolean modifier.
To do this:

Select the buckle object (click on it with  RMB) and add a  boolean modifier in Properties > Modifiers
Set the object added in step 2 as the "Target" object in the boolean modifier
Set the boolean operation to "Difference"
(Optional) Set the cube's Maximum Draw Type to Wire in Properties > Object > Display, so you can see the result of the boolean operation better

Adjust the cube further if needed
Export the result. Either Apply the boolean modifier and delete the cube object before doing this, or enable Selection Only in the export options and ensure that the cube is not selected.


Exporting to Unity as .blend Currently, I'm trying to learn Blender and Unity together.  I have a very simple model with three animation actions for Idle, Walk and Run.  They are all using the fake user so that their data-blocks are saved.

This is my setup in Blender.  Run and Idle have the NLA and dopesheets setup similarly.

My issue is occurring when I attempt to import the animations into Unity.

If I save my .blend file with Walk as the currently selected action, and the end frame set to 24, the walk animation will be fine in Unity, but the Idle will stutter and the arms and legs of my character seem to be stuck in the first frame of my walk pose.

Alternatively, if I save my .blend file with Idle as the currently selected action and the end frame set to 35, the Idle animation will be fine but the Walk animation seems to only play half of its frames (results in an animation that resembles a playful skipping or hopping).

The Run animation is just as janky and unreliable.  I'm trying to work out just the transition between Idle and Walk before I add Run into the mix, so for now, let's just pretend it isn't there (even though it is).

Is there a way to fix this so that my workflow between Blender and Unity remains as fluid as possible?   Ideally, I would be able to save in Blender and immediately see the effects of my changes in Unity.  I don't know if that's possible, but if it is, please tell me how.  I would like to be able to make a lot of small tweaks and subtle changes to my animations as I learn this stuff.

Thanks for any help you can give.

I'm answering my own question since I seem to have figured it out.

My issue was in Unity.  On the base layer of my player controller, blending was set to Additive.  I changed this to Override, and my animations are now playing smoothly within the game.


Blender Internal -> Rendering: Stopping surface materials of background objects from affecting volumetric materials of objects in the foreground The problem as demonstrated by the images of my animation below is that the edges of the surface material objects in the background (shells of the atomic orbitals in this case) wash through the volumetric materials of objects in the foreground (light trails of my electrons in this case).

The edges of the objects with surface materials (atom shells) create artifacts in the overlying volumetric materials of the electron light trails orbiting along the edges of the shells.

As you can see the from images, I sense that the most obvious solution is to deal w/ render layers. My experience/ability with render layers is practically nil. My results with creating and manipulating render layers have been inconsistent at best from tutorials long past. But, from my rudimentary knowledge of Blender, it may seem to be the most obvious, if not the only way to approach this issue.

So, I look to whomever in the ether that may offer up some concrete solutions to my dilemma, as opposed to me hunting, pecking and, possibly stumbling on some adhoc solution.

Thanks in advance.

Part I: Seperating Objects in the Scene w/ Volumetric Materials in question

The solution to this problem starts by assigning the volumetric objects (electron light trails) their own "Scene Layer" and corresponding "Render Layer" then using the "Mask Layer" to mask out the other "Scene Layers" containing any other objects, such as the nucleus, in the scene which you might want to include... like when the electron's orbit through or behind them which would naturally obscure the view of the trails.
Then in the "Object Properties Window" turn off the rendering of the offending surface objects (in this case the atom shells) that are causing the problems with the volumetric materials of the electron light trails.

Next in the "Render Settings Tab" under "Shading"  change the "Alpha Setting" from "Sky" to "Transparent". Then under "Output" make sure to set the "file format" as "PNG"; and, of coarse, it's always a good idea to save these files in their own folder, especially if you expect to have a bunch of files. And, don't forget to select "RGBA" so you have an alpha channel in your images, because you'll need to use alpha over in Blender's VSE in a separate blender file later. It's also a good idea to save this as its own file because you might want to use various compositing nodes, such as blur on your electrons and light trails.

You're now ready to render and save these images.

Part II: The rest of the atom (nucleus and shells)

Once you've completed rendering the electrons and light trails "Save As" to create a separate file for the rest of the atom. Then go back to the "Object Properties" window and turn on the Rendering of the shells.

Next under the "Render Layers" tab select all the other "Scene Layers" and "Render Layers" and uncheck any "Mask Layers"... In my case I also chose to select the Render Layer containing the electron light trails and turned off rendering of the electrons and the light trails in the "Object Properties" Window.
In the "Render Settings" Tab under "Shading" change the Alpha Setting" from "Transparent" back to "Sky". Keep the "file format" as "PNG" with "RGBA" under "Output". And, don't forget to save these files in their own folder.

Part III: Composite Both Image sets in Blender's VSE

Finally, its merely a matter of compositing both images in yet another Blender file. Add image set of the atom (shells & nucleus) to channel 1 and the electrons and light trails to channel 2 using Alpha Over as your "Blend Type" for the light trails. Select your favorite movie format, render and, your done. Beautiful!

Final Note: I noticed a lot of buzz concerning the new render engine "EEVEE" that's in the final phases beta development. For what ever reason... the gist I've gotten is that the developers are deciding to drop the original "Blender Render" from the Render Engine selection list... (via Blender Nation et. al). If that is indeed the case... What a tragedy! Why? It's a reaction rooted in my practical experience with both Cycles compared to Blender Internal. Sure, Cycles has much more power and a greater choice of options when it comes to materials than Blender Render. Even a knuckle draggin luddite, such as myself, who's still a relative Blender Newbee, can't argue against that. But, if the above project (this query on the above atom blend-file) is any evidence, albeit tenuous; my first few attempts to get the right look and feel of the materials began with using Blender Cycles. In short, I didn't like it. I just couldn't get the materials and their reaction to the ambient lights to "pop". So, I decided to try Blender Internal... After a few tries, I got what I was looking for. It came alive... It "popped". Granted, this may be because of my lack of experience with Blender... But, regardless of that, I suspect there are probably some things that would still come out looking better, when done in Blender Render. So, futile as it may be, I would ask those who's influence may be felt, to implore serious reconsideration of dropping Blender Internal as an option.

Consider this as an analogy: My electricity recently went out. Like some of you that may still have landlines, most if not all of these phones are VOIP. But, with no electricity you ain't got phone service because, VOIP's tied to the electrical grid. Old timers who still remember POTS, may recall that if your electricity blacked-out, you could still rely on plain ole telephone service to get through to the electrical company, because it wasn't tied to the grid... See where I'm goin with this?

Anyway, I figured I'd make a case for keeping Blender Internal, not just because of nostalgia but, because there's probably still a lot more we can still get out of this grand ole render engine, even if it hasn't been updated in more than half a decade.

Regardless of that, I still look forward to trying out Blender eevee upon its official release.


How to Save Particle Combing Data to a Normal Map Image File in UV Space? How can I extract the data created by a particle combing operation (on hair particles, for instance) to file (even if some Python code is required) in a 3-component RGB normal image map to UV space (when the unwrapping has already been done for the geometry), and then (that's a second question, I guess) feed it back to the particle system without having to recomb again?

I do not have an answer for you, although I can provide you with a few nuggets of info that will come in handy.

Here is some python code that shows you how to dump the coordinates of the root and tip of the hairs:

import bpy

def dump_particles(ps):
    for p in ps.particles:
        print(p.location)
        #print(p.fuv)
        print(p.hair_keys[-1].co_local)
        print("_")

dump_particles(bpy.context.active_object.particle_systems[0])

The major stumbling block is that the barycentric coordinate of the hair is NOT exposed via the python API.  (see also How do I comb hair in python?)

This makes calculating the position of the hair in UV coordinates much harder (although you could probably reverse-engineer it from the location if you are willing to do a lot of analytic geometry).

Even once you do figure out where the hair is in UV space, you'll need to choose how to interpolate to compute the values for the image you want to use as a normal map.  (Maybe compute the dual of a voronoi diagram and use barycentric coordinates again).


Object invisible in shading Hello i need help my object is invisble in shading which makes it little hard to work with please can some  help me with this problem?

So i solved the problem only thing you need to do is to enable the ,,High Quality Normals"


How to save animation as a video format I am basically trying to make an intro for my youtube channel. I am sort of familiar with the program because I was playing around with it for a long time, getting the basics of it. With the help of youtube videos I am basically done with my project. I put my name in it and everything. I just need to know how to save the animation onto my desktop as a file that I could open and would be in a video format.

Set the Output to "AVI JPEG" in the render settings.

Also , to set the place where it is saved , Click next to "/tmp/" , That folder image. Then select where to save. After doing all these steps you can then render and it will appear where you saved it.
UPDATE:
One of the big changes in 2.79 is that they finally separated containers and codecs.
The encoding options from previous versions are still there, but now they have organized differently
If you select FFMpeg video, there will be a new tab for Encoding options.

There you can select the container and the codec for the output file.
Container is the file format for the file, (Mov, Avi, Ogg, MP4, to name a few) sometimes is referred as a "wrapper".
Codec (short for Compression-Decompression) Is how the image is compressed. The picture quality, file size and processing power needed to view the file are largely determined by the kind of codec used and the settings used for it.


Is it possible to have hair particles [people] face towards a target I have set up a particle system based on a group of people that I would like to face towards a target.

I know I can play with the rotation of the whole system and randomize, but global rotation doesn't quite work if the target were to be in the center of the particle system.

Also, I know that I can bake the particles and add a track-to-constraint, but baking thousands of high poly meshes would make the file unusable. So, looking to see if there is a way to keep the particle system and orient towards a target.

Here are the particle settings that I am using

Use a Force Field:

Hair particles, even without using dynamics, follow the force fields:

In the Viewport do Add > Force Field (type "Force"). Place it where you need it to be. From the Physics properties panel, set the force to a negative value and leave the rest as it is.

The internal rotation of the base hair particle (humans) must be adjusted to make sure that the correct side points to the Force Field. In my case this is the mesh used:

Note that the "face" is looking towards negative Z, while the "head" is "up" in the direction of positive Y. The correct rotation must either be achieved in edit mode or obtained in object mode and then applied (CtrlA > Rotation)

You need neither the "Advanced" setting on Emission, nor the "Rotation" extra settings.


Why can see through my object in solid? This is how it looks when I am in solid view. It is very annoying to edit like this - how can I make it look normal?

you have unchecked limit selection to visible. To undo that, just click it again.


how to array with 2 group objects Im making a ring with diamond attached. I have 2 object diamond made a group and i want to array that to object in a circular manner. I have the 2 object with 2 different color and i dont want to join them and array. I want that 2 separate object to be just group and array. i have made it parent and array but only one object array not the both.

Unfortunately groups (even instanced) can not have an array modifier.

Your best bet will be to add the array to one object, then select the other, shift select the object with the array and press Ctrl + C and select Copy Modifiers.

Make sure you use Constant Offset or Object Offset and not Relative Offset.

By request, I will add an explanation how to create the target for the array with circular symmetry

Snap an empty to the object, which has the array modifier: arrayTarget
Snap an empty to the center of the circle: circlePivot
Set the object Array Offset to: arrayTarget
Parent arrayTarget to circlePivot
Rotate the circlePivot the desired amount.


Issues with mesh deformation I have a low poly model that I am trying to rig correctly but even with editing vertex groups and weight painting I am still getting issues when moving around the bones.

Heres the blend file:
http://www.pasteall.org/blend/36971

I undid all my edits to the vertex groups and weight painting so all that has been done is the parenting of the mesh to the armature with automatic weights. Pretty much, Id appreciate if you could figure out whats up with the vertex groups and why they are acting so weird. thanx

Here's a before and after picture to illustrate what I mean. On the left is what happened when I tried rotating the left shoulder using the original vertex groups. On the right is what happened after I reassigned the vertices in the the following groups: abdomen, chest, left shoulder, left upper arm, left lower arm. Double check that you are not only assigning the vertices that you want in each group, but also removing the ones you don't want.


Detect if using retina display from python I've got some BGL drawing code which draws some outlines over nodes in screen-space coordinates. It accounts for the DPI settings in the User Preferences and scales up the size and position of drawn objects accordingly.

The problem is, if a user is using a Retina display, the DPI value in the preferences doesn't actually change, even though it virtually doubles, thus the screen coordinates are all wrong:

The red outlines are supposed to sit exactly on top of the nodes. This works fine on a non-retina display.

So how can I check whether blender is running on a Retina display from python?

The code is all here: http://hastebin.com/gipifamoco.py - at line 607 is where I take into account the DPI and
"Virtual Pixel Mode" option in the user prefs (which can be set to 'Double' to simulate using a Retina display, but stays at 'Native' when using an actual Retina display)

So theoretically I'd like to be able to change:

retinafac = (2 if bpy.context.user_preferences.system.virtual_pixel_mode == 'DOUBLE' else 1)

to:

retinafac = (2 if (bpy.context.user_preferences.system.virtual_pixel_mode == 'DOUBLE' or <using retina display>) else 1)

where <using retina display> is the check.

You can can now access the pixel size with bpy.context.user_preferences.system.pixel_size (commit)

This works for retina scale or bpy.context.user_preferences.system.virtual_pixel_mode


Is it possible to simulate an adjustable lamp's limbs using armatures/bones? I want to model the limbs of this type of lamp such that I can mechanically move the structure into different poses without having to manually move each object piece one by one.

I have spent some time trying to do this with bones, but the fact that you have adjacent 'arms' that are connected to the same solid piece at each end (with hinges) makes it not behave as desired with single bones.

If not with bones/armatures, is it possible with some other method within Blender?

@sambler provided a link to a tutorial by Jonathan Williamson of Blender Cookie. (Thankyou)   The part where the bucket connects to the rest of the arm contains similar mechanics to what I'm looking for.  By following that part of the tutorial I've used the 'track to' constraint and I think this will work.

http://youtu.be/r-V8ihRUsTE

Screencast keys have been removed from blender 2.73 (rc at least)

So I used edit mode to extrude one extra small bone.  ctrl-d (copy) to copy the large bone (in edit mode so it's part of the same group of bones)   then ctrl-shift-c to bring up the menu where I choose 'track to'    then in the bone constraints menu change the head/tail value to 1.


How to determine which vertex groups a vertex belongs to? I'm using the newest version of 2.8, and I'm wanting to determine which group specific vertices belong to. I have a lot of groups and vertices, so checking them one at a time will be a lot of time spent.

I was hoping there would be some type of option that highlights vertex groups that selected vertices belong to in the group list. Something like that?

Thanks for any help!

You can press shiftG (Select Similar) > Vertex Groups.

Also, a more precise method, in your 3D view, if you select the vertex and press N, you'll have access to the 3D view properties panel, if you press the Item tab, you'll see under Vertex Weight what group the vertices are part of. Then you can select them in the Properties panel > Data > Vertex Groups.


Metaball wiggle with position fixed I am quite new to Blender.
I design an object with multiple metaballs and tried to animate it by using Animation Nodes.
I want to animate like my designed metaball is asseebled after wiggling around.
I have watched several tutorials, but I have no idea how to keep the original position of designed metaballs I placed.
Once I choose metaballs I want to animate by using 'Create Object list', it just moved to the coordinate 0,0,0 wiggles there.
Does anybody know how to do what I want to animate?
Thanks

You can use Object ID Keys to store intial location.


Receive Serial Data in Background i have a hardware with some keys and i want control some objects in blender with those keys. for example if i pushed #1 key... camera rotate 1 degree
i can send, receive and move objects but my problem is freezing !!!!

i want blender receive data in real time ( always ) and process incoming data. I'm sending data unceasing (non stop). is it possible to run a python script (unlimited loop within) in the background to prevent freezing blender ?

for example i have following code :

import bpy
import serial
import mathutils
from time import sleep

ser = serial.Serial("COM7", 9600)

while True:
    data = ser.readline()
    obj = bpy.data.objects["Lamp"]
    # one blender unit in x-direction
    vec = mathutils.Vector((int(data), 0, 0))
    inv = obj.matrix_world.copy()
    inv.invert()
    # vec aligned to local axis
    vec_rot = vec * inv
    obj.location = obj.location - vec_rot
serialport.close()

it's work well outside the loop. but in this case, blender is going to Not Responding. i want object's movement in real time

i am not sure you can understand my problem .... sorry for my bad En language

Edit:
i want to run this process in the background .... Modal Operator is working but still freezing blender .... i want do other works and in the background, blender receive serial data and process it

it's my modal operator ( receive degree from serial and rotate an object ). but in this case rotating only works when i move the mouse, if i leave that, rotating will be fully lagged :

import bpy
from bpy import context
import serial
from time import sleep

ser = serial.Serial("COM7", 9600)

class ModalOperator(bpy.types.Operator):
    bl_idname = "object.modal_operator"
    bl_label = "Simple Modal Operator"
    x = 0
    def modal(self, context, event):
        self.x = int(ser.readline())
        if self.x >0:
            value = int(self.x)
            value += 10
            degree = value * 3.14/180
            bpy.context.object.rotation_euler[0] = degree
            print(degree)
        if event.type  == 'LEFTMOUSE':
            ser.close()
            return {'FINISHED'}
        return {'RUNNING_MODAL'}

    def invoke(self, context, event):
        if context.object:
            print("hi")
            context.window_manager.modal_handler_add(self)
            return {'RUNNING_MODAL'}
        else:
            self.report({'WARNING'}, "No active object")
            return {'CANCELLED'}

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

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

if __name__ == "__main__":
    register()
    bpy.ops.object.modal_operator('INVOKE_DEFAULT')

readline is a blocking operation : http://pyserial.readthedocs.io/en/latest/shortintro.html#readline

Try to use something like :

def modal(self, context, event):
    if event.type  == 'LEFTMOUSE':
        ser.close()
        return {'FINISHED'}
    if ser.inWaiting()!=0: # or if ser.in_waiting !=0: (see remarks below)
        self.x = int(ser.readline())
        if self.x >0:
            value = int(self.x)
            value += 10
            degree = value * 3.14/180
            bpy.context.object.rotation_euler[0] = degree
            print(degree)
    return {'RUNNING_MODAL'}

Another edit as I have read that "inWaiting" function may have been changed into a property form from v3.0 of Python :

  in_waiting
      Getter:   Get the number of bytes in the input buffer
      Type: int

Return the number of bytes in the receive buffer.

Changed in version 3.0: changed to property from inWaiting()

So you should replace "if ser.inWaiting()!=0:" by "if ser.in_waiting !=0:".

Edit for a little explanation : the line "if ser.inWaiting()!=0:" wont block as it is just testing if there is something to read. So if nothing is available, the function will directly go through the "return {'RUNNING_MODAL'}" without blocking.

You can also test the behavior, replacing "if ser.inWaiting()!=0:" by "while ser.inWaiting()!=0:". It's hard to know which is better. The difference is "if" will immediately give the hand to Blender and "while" will eventually take into account several serial inputs before giving back the hand to Blender.

For this line :             self.x = int(ser.readline())
You should also read data depending on the waiting available bytes you need here (but as I dont know how your device communicates... I cant say).

(not tested)


MMB to rotate perpendicular to view Is there a way for the middle mouse button to rotate the object perpendicular to view? Currently, no matter which angle my view is at, when I press and hold my MMB to rotate, the object will rotate along the Z-Axis.

I’ve been a Solidworks user previously and hope to change the rotate to similar. I believe it should be a setting but I’ve already tried most and it doesn’t work. I’ve search the net for the answer and nothing seem to work. Please help me, new user to Blender.

Go to Edit, Performances, select Keymap, on the top you will see a seach bar, type "rotate" and you will find the key map for rotation of the object.


Mapping two image texture on a sphere Some months ago I watched this video of Blenderguru about "How to create a realistic earth in blender". In this video blender render is used and
now that I understand texturing in cycles a little better I am trying to rebuild this "realistic earth" with cycles.

In the video - starting at about 11:30 min - it is shown how to map the "earth day" and "earth night" image textures. Depending on the lights shining on the earth the earth or night image is projected. I tried to rebuild that in cycles but I think I a making mistakes. In the circled box the "night" nodes are found. What Is my mistake ?

P.S When you see other mistakes in this node tree, please let me know.

OK ... I now have implemented the advice of Uncle Snail (except moving the black slider). Below an image of the earth and the updated node tree (I also rearranged nodes for better overview).

In the Color Ramp, I did not move the slider. Is that really necessary ??

Plug the output from the texture into the color ramp node.

That should do the trick.

Here's how it works.

When you output an image (black and white in this example), the white values stand for 1, and the black values stand for 0.
Therefore, when you plug an image texture that is black and white (like that of the lights, all the white will be 1, and all the black will be 0. In this case, the white is where there are lights, so you want to mix with an emission shader. A value of 1 (white on the texture) will mix completely, and a value of 0 (black) will not have any light.

The color ramp node, is simply for mapping how much of the texture is 1, and how much is 0. When you plug a value it, 1 (white) will be all the way to the right, and 0 all the way to the left. All in between is the values between 1 and 0. If you change the color at the right to grey, all that used to be white (1) will now be grey (0.5).

This way, if you drag the black slider almost right up to the white end, there will be no light until the texture becomes very white.

Here is an illustration.
On the right, the lesser lights are cut out, so just the powerful ones shine through. This is done by the color ramp.

Also check out Gleb's tutorial. It is a good example. Just watch how he uses it.

http://www.creativeshrimp.com/how-to-make-a-spider-web-in-blender.html

In your case, I wouldn't use it, except you may not want there to be as much light, then use it maybe. Just preference.

However, if you look, where there is not light in the texture, it is not completely black, so you may want to turn up the bottom a little bit, to crush all low values to 0. (like this) [example uses white as input for emission, not color as input, making the lights more prominent (which is what I would do when making a globe).]


Apply Cyclic all at once It seems like I can't just select all channels at once in the timeline. How can I apply cyclic to  multiple channels at the same time?

As an experiment, I tried doing this from the Graph Editor using a Cyclic Modifier with more than one channel selected at the same time. Unfortunately, it always favors one of the channels, and it alone gets the cycle modifier added.

However, the functionality you're after could be achieved using action strips in the NLA Editor. Because when you cycle those strips, it cycles everything in the strip, no matter how many keyframed channels it contains.

With the NLA open, and your action selected in the Action Editor (Action Editor is one of several editing contexts accessible from the Dope Sheet), push the strip down, so that it's accessible from the NLA. Next, press n to roll out the Properties Shelf (make sure you're floating your cursor in the NLA Editor window before doing this), and press the Strip tab. You will see that you have access to various ways of controlling the behavior of action strips. One of those is the Repeat option, which is under the Action Strip section. Here, you can enter a number and then the strip will cycle that many times.

Hope this helps.


What is this node usually called? I'm trying to find the Color Factor node shown below. It's typically already added in there attached to the Principled BSDF by default, but from time to time I have no idea where to find the node once I remove it.
I'm on Blender 2.91.0

Color MixRGB Shader Node

Looks like a Color > MixRGB  shader  node.  Has its blend type set to "Multiply" and has been renamed to "Color Factor".


Sculpt high detail with custom brush over low poly terrain for Unity I have made a low poly terrain in Blender, but now want to sculpt with a brush to detail it. This is not the problem, I saw tutorials.

Problem is, the brush is high poly, so my terrain will drastically increase in poly counts. I want to bake a normal map of the details.

Should I bake the brush, decimate it and make it into a low poly, then paint over my terrain?
Should I paint with high poly, transforming my terrain into a polycount disaster, then bake the whole thing with normal map at the end ? (Blender will crash for sure)

I think more about the (1) but don't know if it's possible actually to paint with a low poly normal mapped brush...

Thank you very much, pictures coming tomorrow.

I would model a low poly Terrain...UV unwrap.....copy the terrain name it same name as first just add "HI_poly" to name (so it is easy to tell between the 2) add a multi res to the Hi poly...sculpt out your hi poly...(if you have an issue with it crashing you are running out of ram when it bakes the normal map)

stay under a million verts on the hi poly(hopefully that will keep it from crashing...that's what I had to do when I had just 4 gigs of ram)

once you are happy with your hi poly sculpt...

take your Lo poly terrain paint just a basic color on an image save the image...add a materiel to the lo poly and add that basic color image to that materiel....now first select the hi poly mesh, then shift select the lo poly mesh and bake an ambient occlusion map....then bake your normal map....(make sure you have selected to active in the bake panel) save the images I use _AO _NORM...ECT ECT

now paint out your lo poly color map in as much detail as you can....use that image for color take the images into GIMP and create our color map by overlaying the AO....you can also make your spec map...de-saturate the color image... invert the colors and adjust to likeness....

hope this helps.

oh and save often.


Vertices-dependent centroid construction I'm very new to Blender so this question may be very simple / foolish, but I don't find the way.

Suppose I want to construct (draw? add to mesh?) the centroid of a triangle (the middle point together with the three medians) in a way that it dynamically changes when the three original vertices are grabbed and the triangle itself is not deformed (if I add points and edges with the knife, the triangle deforms to a polygon when the vertices are moved). Could this be done? Which are the best tools for it? My goal is to do an animation showing the centroid of a triangle whose vertices are moving. Thanks!!

Subsurf Modifier

You can surely set up your own rigging system, but if you don't need to extremely custumize your animation, fastest way to show the position of the centroid is taking advantage of the Subdivison Surface Modifier with Simple type enabled in oder to see the medians meeting in the middle.

Drivers

In alternative, I would suggest to Hook the vertices of a Poly Curve (the triangle) to three Empties and use Drivers to control the location of a fourth object (the centroid). This way you should be able to customize almost everything in your scene (the triangle section, the presence of mendian lines, the shape of the centroid individuator..)

For each coordinate you should assing a value coming from a scripted expression capable of giving the Average mean of the other empties coordinate relative to the considered axis.


Random sized cylinders with no intersection/gaps I'm trying to find a way to achieve an extruded version of what the image below shows without having to manually scale every cylinder.

I tried particle systems (hair, both vertex and face modes), but I seem to be unable to reach a satisfying compromise between gaps and intersections. My cylinders, in an ideal world, should not intersect at all, and every cylinder must be touchng at least another one.

Here is my reference image:

Any ideas?

Thanks in advance :)

Here is a basic way you can fake it.

Create a new box mesh object that should be large enough to encompass a simulation covering an area big enough to produce the desired patterned area.

This Box would ideally be flat, narrow in one direction and large in two others (like say 10 x 10 x 0.2 units).

In the physics tab set it to Rigid Body, Passive and Shape two Mesh.

Then create a Cylinder mesh, rotate it in Object Mode 90º about the X axis so it lays flat. Set its physics properties to Rigid Body, Active and Shape to Cylinder. Make sure the physics bounds cylinder aligns properly to the mesh geometric shape.

Now add some constrains to it, so it won't rotate about an axis we don't care about. Add a new Limit Rotation constraint, then turn on the options Limit X and Limit Y only, and change the space to Local Space.

Clone-duplicate the cylinder around and place all copies in an array-like grid, along the top of the box, making sure they all fit completely inside the previously created box.

When seen from the top the cylinders should be tall enough to barely fit the box, and the box should be narrow enough so the cylinders are tight but not too close, which would cause problems with simulation precision.

To make cylinders have random size by selecting one of them, turn on Proportional Edit, switch the Fallow Type to Random, then scale one cylinder with S.

While scaling press Shift+Y to exclude scaling along the Y axis (so the cylinders all maintain the same height and still fit tightly in the box), and while editing scroll the mouse wheel to control the influence radius so it encompasses all cylinders. Make sure you hide or lock the box beforehand so it is not affected.

Adjust scaling as desired to create the amount of variation you see fit. Scale multiple times if necessary to achieve a larger range of sizes.

Now play the animation with Alt+A, to cache the physics simulation. You may also need to adjust the Rigid Body World properties in the Scene tab of the Properties Window, like increasing the Steps per Second and Solver Iterations.

Let it play for a while after falling, so the simulation settles down. The end result should be what you desire.

You can then optionally apply physics if you want static objects with actual position, or join them all into a single mesh. You may also remove one end of the cylinders so you get a "2D" flat pattern.


why aren't the inside sides of the shape showing when I export it as a .STL file why aren't the inside sides of the shape showing when I export it as a .STL file. I have tried Alt F, F and Control F grid fill.

Maybe the normals of you model are wrong. If the normal of a face is pointing inside the mesh, it may not be displayed by some renderers. When in edit mode, you can display the normals of the model using the right pane in the 3D view (section Mesh Display > normals). Try to call Make Normals Consistent (Ctrl+N) when editing your mesh.


Conditional To Perform Alternate Task So I have a operator that basically goes through an operation and I would like to have the F6 menu provide a checkbox that does an alternate behavior. How would I do that?

class softsharpenOperator(bpy.types.Operator):
'''Sharpen Without Modifiers'''
bl_idname = "ssharpen.objects"
bl_label = "softSharpen"
bl_options = {'REGISTER', 'UNDO'}

ssharpangle = FloatProperty(name="SSharpening Angle", description="Set SSharp Angle", default= 30.0, min = 0.0, max = 180.0)

angle = FloatProperty(name="AutoSmooth Angle", description="Set AutoSmooth angle", default= 60.0, min = 0.0, max = 180.0)

def execute(self, context):

    #convert angle
    ob = bpy.context.selected_objects

    angle = self.angle
    angle = angle * (3.14159265359/180)

    ssharpangle = self.ssharpangle
    ssharpangle = ssharpangle * (3.14159265359/180)

    #Start In Edit Mode
    bpy.ops.object.mode_set(mode='EDIT')

    #Unhide all The Geo!
    bpy.ops.mesh.reveal()

    #Now Sharpen It
    bpy.ops.mesh.select_mode(use_extend=False, use_expand=False, type='EDGE')
    bpy.ops.mesh.select_all(action='DESELECT')

    #Selects Sharps From A Nothing Selection
    bpy.ops.mesh.edges_select_sharp(sharpness=ssharpangle)

    #And Then Adds Weight / Crease / Sharp
    bpy.ops.transform.edge_bevelweight(value=1)
    bpy.ops.transform.edge_crease(value=1)
    bpy.ops.mesh.mark_sharp()

    #Comes Out Of Edit Mode
    bpy.ops.object.editmode_toggle()

    #Turns On Smoothing And Then Sorts It Out
    bpy.context.object.data.use_auto_smooth = True

    #now sets angle to Var angle.
    bpy.context.object.data.auto_smooth_angle = angle

    bpy.ops.object.shade_smooth()
    return {'FINISHED'}

So this operator is just supposed to locate the sharp edges and mark it for bevelling. I was able to get variables to show in the F6 menu showing the behavior but it would be even cooler to make it toggle between another behavior and this one.

To enable alternate modes, you generally need a to add a BoolProperty to your operator which will represent the two modes of operation.

To control the value of this property through the F6 menu, you also need to add a Draw function to your operator. You can display the other paramters affecting your operator's behavior there if you want. This seemed to work only if the operator is launched through a Panel or Menu, not when launched from the console though. Maybe some other user here can explain why that is.

class softsharpenOperator(bpy.types.Operator):
    '''Sharpen Without Modifiers'''
    bl_idname = "ssharpen.objects"
    bl_label = "softSharpen"
    bl_options = {'REGISTER', 'UNDO'}

    ssharpangle = FloatProperty(name="SSharpening Angle", description="Set SSharp Angle", default= 30.0, min = 0.0, max = 180.0)

    angle = FloatProperty(name="AutoSmooth Angle", description="Set AutoSmooth angle", default= 60.0, min = 0.0, max = 180.0)

    # ADD A BOOLEAN PROPERTY TO DISCERN BETWEEN THE TWO ALTERNATE MODES
    alternate_mode = BoolProperty()

    # ADD A DRAW FUNCTION TO DISPLAY PROPERTIES ON THE F6 MENU
    def draw(self, context):
        layout = self.layout

        box = layout.box()
        # DRAW YOUR PROPERTIES IN A BOX
        box.prop( self, 'ssharpangle' )
        box.prop( self, 'angle' )
        box.prop( self, 'alternate_mode'  )

    def execute(self, context):
        if self.alternate_mode:
            # DO SOMETHING ONE WAY
        else:
            # DO IT THE OTHER WAY

        return {'FINISHED'}

If you want to play around with a simple example that works out of the box (copy and paste to a text editor and run), here's one that alternately creates a sphere or a torus, depending on whether the bool property is set to True or False (to execute the operator either call it from the console, or using the Add Mesh menu - Shift + A --> Mesh --> Test):

import bpy

class testOperator( bpy.types.Operator ):
    """This is a test"""
    bl_idname  = "mesh.test_me"
    bl_label   = "Test"
    bl_options = {'REGISTER', 'UNDO'}

    sphereOn = bpy.props.BoolProperty()

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

        box = layout.box()
        box.prop( self, 'sphereOn'  )

    def execute( self, context ):
        if self.sphereOn:
            bpy.ops.mesh.primitive_uv_sphere_add()
        else:
            bpy.ops.mesh.primitive_torus_add()

        return {'FINISHED'}

# Operator adding function (used to inject operator to menu)
def menu_func( self, context ):
    self.layout.operator(
        "mesh.test_me",
        text = "Test",
        icon = "PLUGIN"
    )

def register():
    bpy.utils.register_module(__name__)

    # Add "Snowflake" menu to the "Add Mesh" menu
    bpy.types.INFO_MT_mesh_add.append( menu_func )

def unregister():
    bpy.utils.unregister_module(__name__)

    # Remove "Snowflake" menu from the "Add Mesh" menu.
    bpy.types.INFO_MT_mesh_add.remove( menu_func )

if __name__ == "__main__":
    register()


Stabilize a video using only one tracking piont I have a video that I want to stabilize, tho the video itself is very stable the subject is moving. I want to keep the subject in the centre. and there is only one tracking point that is visible in every frame, Blender asks for 8 tracking points.

Use Tripod tracking instead and this will solve without 3D reconstruction. Also send the tracker to 2D Stabilization, it is located in the Movie Clip editor's Properties panel (n-key). Now you will have a motion vector based on a single tracker.


How to write a simple Wavefront-OBJ exporter in Python? Recently we were working to write our own software to load a Wavefront .OBJ file.

The file in question uses the .OBJ file format that Blender 2.73 and below generates which is like this:

# Blender v2.73 (sub 0) OBJ File: ''
# www.blender.org
o Cube_Cube.001
v -1.000000 -1.000000 1.000000
v -1.000000 -1.000000 -1.000000
v 1.000000 -1.000000 -1.000000
v 1.000000 -1.000000 1.000000
s off
f 1 2 3 4

The .OBJ exporter of Blender 2.74, in other hand, creates files like this, which are more closer to the definition that one will find in Wikipedia for example:

# Blender v2.74 (sub 0) OBJ File: ''
# www.blender.org
o Cube
v -1.000000 -1.000000 1.000000
v -1.000000 1.000000 1.000000
v -1.000000 -1.000000 -1.000000
v -1.000000 1.000000 -1.000000
vn -1.000000 0.000000 0.000000
vn 0.000000 0.000000 -1.000000
vn 1.000000 0.000000 0.000000
vn 0.000000 0.000000 1.000000
s off
f 2//1 4//1 3//1 1//1

While this is a valid OBJ file, its more involved to parse.

So, the problem is that I would like to write an exporter that uses just a subset of what the .OBJ file format can offer. In this case, just vertices and faces with everything in one line.

I would like to use python inside of Blender to do that but I have no idea on how to start to write this script.

This is a simple OBJ export script, that this writes valid OBJ files that load back into Blender: verts and faces, (no edges or materials).

import bpy
from bpy import context

filepath = "/tmp/simple_obj.obj"

obj = context.object
mesh = obj.data

with open(filepath, 'w') as f:
    f.write("# OBJ file\n")
    for v in mesh.vertices:
        f.write("v %.4f %.4f %.4f\n" % v.co[:])
    for p in mesh.polygons:
        f.write("f")
        for i in p.vertices:
            f.write(" %d" % (i + 1))
        f.write("\n")

This script can be pasted into Blenders text editor and executed, you will want to modify the output filepath.


Blender cycles glass from sideview not transparent at all From top view glass looks like glass but from side view It looks like this:

So, why its not transparent and how I can make it transparent ?

Your normals are facing the wrong way - press Ctrl-N in edit mode (with everything selected) to recalculate them.

How they were before (wrong):

After recalculating:

The reason the glass looks bad with inverted normals is because glass uses a fresnel function to calculate where the most reflections should be:

(both spheres use exactly the same material)


Connecting two points with a line/curve via Python script This problem is absolutely driving me crazy for over a week now. All I need is a bezier curve that starts at point with coordinates (x1, y1, z1,) and ends at a point with coordinates (x2, y2, z2).

I attempted to write a function using basic coordinate geometry, and it works pretty well 90% of the times, but fails depending on domain/range of numpy.atan. (It creates a bezier curve between the two points, then scales and rotates it appropriately)

def connect_points(v1, v2):
    midpoint = [(1 / 2) * (v1[0] + v2[0]), (1 / 2) * (v1[1] + v2[1]), (1 / 2) *(v1[2] + v2[2])]
    distance = math.sqrt((v2[0] - v1[0]) ** 2 + (v2[1] - v1[1]) ** 2 + (v2[2] - v1[2]) ** 2)
    z_rotation = math.atan((v2[1] - v1[1]) / ((v2[0] - v1[0]) + 0.00001))
    y_rotation = -math.atan((v2[2] - v1[2]) / math.sqrt((v2[1] - v1[1]) ** 2 + (v2[0] - v1[0]) ** 2))
    bpy.ops.curve.primitive_bezier_curve_add(location=midpoint, radius=distance / 2, rotation=[0, y_rotation, z_rotation])
    bpy.context.object.data.bevel_depth = 0.010

I am not willing to spend another week trying to write different cases for arctan. Is there a simpler way?

Using API methods rather than operator.

Using methods outlined similar to those in Bezier-Spline with Python adds unwanted point .

Method to create a 2 point bezier curve object, with each end at defined global locations and the origin in the middle.  Notice the left and right handles types are set to auto resulting in a straight line.. (perhaps a poly would be simpler in this situation)

import bpy
from mathutils import Vector

def add_bezier(v0 , v1):
    v0, v1 = Vector(v0), Vector(v1)
    o = (v1 + v0) / 2

    curve = bpy.data.curves.new('Curve', 'CURVE')
    spline = curve.splines.new('BEZIER')
    bp0 = spline.bezier_points[0]
    bp0.co = v0 - o
    bp0.handle_left_type = bp0.handle_right_type = 'AUTO'

    spline.bezier_points.add(count=1)
    bp1 = spline.bezier_points[1]
    bp1.co = v1 - o
    bp1.handle_left_type = bp1.handle_right_type = 'AUTO'
    ob = bpy.data.objects.new('Curve', curve)
    ob.matrix_world.translation = o
    return ob

As an example of usage, select a mesh object and run  script below to add curves matching each edge.

context = bpy.context
scene = context.scene
ob = context.object
mw = ob.matrix_world
me = ob.data

for e in me.edges:
    pts = [mw * me.vertices[v].co for v in e.vertices]
    o = add_bezier(*pts)
    curve = o.data
    curve.dimensions = '3D'
    curve.bevel_depth = 0.010
    curve.bevel_resolution = 3
    scene.objects.link(o)

Note should you wish to not use the global coordinates, could make a single axis aligned curve, and align it using the methods outlined in Align Object to Vector using python (consider using an end as origin)


Print vector with more decimal numbers When outputting values for a mathutils.Vector and mathutils.Matrix, there's normally only 4 decimals printed out. Is there a way to output more decimals or would I have to do it manually like this?

print("%.7f, %.7f, %.7f" % (myVector.x, myVector.y, myVector.z))


Is it possible to project an object onto another object's surface? What I wanna do is not like a shrinkwrap modifier, but move the the entire object like this:

Use the shrinkwrap constraint.

Select the target object.

The original object's origin will move to the surface of the target object.


why array modifier merging the mesh in each other? Why array not starting from the edge of the mesh.

Blend File

I have empty and making array around the surface. Adding array its merge the mesh in each other.

How to make the array from the edge to edge. Any suggestion. Thanks

You have an Array modifier with Object Offset. The offset object is an empty. Its rotation value is too low, so your ornement overlaps itself. If you increase the rotation value (RZ) you will avoid overlapping except between first and last.

Your ornement is bent, you should have made sure that it covered 1/4 of a circle (or 1/3 or 1/5 but not 1.2/4, otherwise the overlapping had to happen.

I'm not sure there's any easy solution if you didn't keep a flat version of your ornement. You can try to flatten it back with the Simple Deform modifier / Bend mode (and Z axis). Then try Array + Curve or Array + Simple Deform modifier to make the ornement go 360° with no overlapping, then modify the ornement a bit so that it sticks to the glass.


Turning a 2D profile into a 3D ring I have tried modelling this myself several different ways, and attempted a number of tutorials but just seem to be having no luck.

I have the following 2D profile that I created:

It's intended to match the profile of my wife's wedding band so that I can 3D print a dress ring to match. The flat base is 17.5mm from the center of the modelling area. I have then used spin to turn the profile into a ring.

Now when I attempt to see if the model is any good for printing, i.materialise complains about it without being specific as to what the problem is. I used a "Non-manifold" method to try work out what's wrong but I have no idea what to actually do to fix whatever is wrong. I have removed duplicates and I can't see any odd joints or something that would be causing issues....not that I'd know even if they were poking me in the face.

I have tried other methods to create the ring but this seems to be the only way that will allow me to get the exact profile I require.

Any thoughts, ideas, or alternate ways to achieve the same goal?

Any advice would be highly appreciated.

Thanks.

Use your 2d object as bevel object of a bezier circle object.

If 2d object is a mesh, convert it to curve, Alt+C > Curve from mesh.


Blender isn't importing mtl correctly with obj? I'm a new blender user, but have used other modelling programs before.

I've downloaded a model file and unzipped it.

When I import the obj into blender, it is my understanding (from here: How to import a .mtl file?) that the mtl should just import itself with it. However, when I import the obj, I just get a grey model with no texture. Is it actually importing the mtl but I'm not seeing it? Also for the record, I have changed no settings in blender.

Picture for reference:

You need to have your viewport shading set to Textured to see any textures or materials on the imported model. Press AltZ to switch to textured view or alternatively, open the properties panel with N and under Shading, tick Textured Solid.

(Click the images for a higher res.)


How do I fix mirror errors for Mirror Shape Key, without splitting and mirroring? X vertices mirrored X failed
This usually happens if there's a mesh fix needed that takes away vertex or vertex is replaced or added.
Is there a way to recalibrate the mesh without having to split the mesh to then add a mirror modifier and applying it?

This error occurs when the mirrored mesh is not perfectly mirrored on the opposite side. The solution is to make a perfect mirror of both sides. But the mesh needs to have to be almost exactly the same on both sides also it must have even amounts of mesh on the mirrored side.

In edit mode select the half the vertex that needs to be mirrored.

Make sure the symmetry is on for the side you want to mirror.

Press G then Enter


Composition of more than one camera I'm using 3 cameras, and what to have different composition to each camera, I learned how to change the composition but it's work for all the cameras together, how can i separate them?
EDIT:
Maybe it wasn't clear, I'm use more than 1 camera.
I need one of the cameras to show the result that seen in Composite and other camera to show the result of Composite2.

How can I config the cameras differently? or maybe it should be done in other way?

Each camera would need to be in a different view layer.
There can only be one active composite node on the compositor, that would be the output image set in the output section of the properties window.
If you need more than one output use file output nodes, add one file output node to each of the view layers you need


Problem rendering additional scenes I'm relatively new to blender since Dec 2020. Using Blender 2.91
I'm currently working on an animation , which I’ve split over 5 scenes.
I made a new scene each time by making a Full Copy of the previous one, the doing the next 300 odd frames.
When I came to render the scenes, it shows nothing, just a grey chequered pattern.
I did notice that with each new scene it created a new camera , i.e. camera.001 , camera.002 etc. SO I made sure I had that camera set as the active camera for the rendering
Also I changed the start and end frames for each scene ie 1-250, 251-700 etc
latest thing ive tried,
I
nstead of just trying to render out the individual scenes, I took the last scene which has all the animations from theprevious scenes in it.
When I try and render out the animation I notice two things.
The first scene frames 1 to 210 render out really quickly , obviously using the png’s from a previous render
As soon as it hits frame 211 I just get the checkered pattern in the render window
I hope someone can help or suggest something I can try

I managed to work out the issue.
It’s a user error rather than a blender issue.
I found that when I created the first copy I had a clip in the video editor, which then got copied across to the new scenes.
I didn’t spot it because I’d deleted the clip from the video editor after I’d made the scenes.
Soon as I removed the clip , then the renders started working again.
Interesting lesson learnt lol


Bright reflections in Cycles? (This question is with regard to v2.80)
I'd like to make a material that reflects a larger amount of light than it would otherwise. I am using a Principled BSDF. In EEVEE I can simply crank the specularity up to 1,000, but that does not seem to work in Cycles.

How might I go about this?

You can:

set a color of Glossy shader with values greater than 1.0 (click and type the numbers in)
add multiple Glossy shaders together with the Add node (this breaks the energy conservation and makes the object reflect more light than it receives)


Bone transformations of one keyframe of one animation being applied to ALL frames of animations The title sums it up. I've been putting together animations for one of my projects over the past week. I have all different kinds of animations in this file, running, attacking, jumping, crawling, etc. Today I was working on a sprinting animation where the character would have to be leaning forward. I noticed that rotating the hips (not the root) of the character would also tip it on the other frames of the animation. This was convenient for me. Until all of the rotations started applying to all the frames, making any tweaks worthless as it would apply the pose of a bone to all the other keyframes. I just found out that it wasn't only applying the transformations to all the keyframes in the animation I was working on, it was applying the transformations to all keyframes of ALL my animations. This is absolutely devastating. The recovery didn't help, my entire project is ruined and it will take hours of work to get it back to where it was.

Does anyone know why this happened? Is there a button I accidentally hit? What setting is this? It absolutely was not doing this before. As I said, I have over 20 animations in this file, many of them also used the hip bone and none of them applied the transform to all the other animations. It isn't just the hip bone either, any bone that I modify gets modified in all other animations on all of their keyframes.

EDIT: My other blender files don't have this issue. It'd be completely nonsensical that animators wouldn't be allowed to touch core bones while animating. I'm fairly positive that this is a settings issue. I've somehow turned on a setting that applies the rotations of specific bones to all keyframes of all animations.

Video: https://www.youtube.com/watch?v=I1pn5VH0p7Q&feature=youtu.be

Undo that original hip rotation, rotate the object by grabbing the whole object, then rotating it (A,G,R). I also found the Rest Pose can never be changed after animating without disrupting the animations.


Detect when auto keying is turned on/off via Python? I want to make it VERY obvious when auto keying is turned on in Blender. I want to write an add-on where, if auto keying is turned on, Blender's theme turns to Blender Light. Otherwise, Blender's theme is Blender Dark.

The core of the add-on is basically this:

if bpy.context.scene.tool_settings.use_keyframe_insert_auto == True:
    bpy.ops.script.execute_preset(menu_idname="USERPREF_MT_interface_theme_presets", filepath="C:\\Programs\\blender\\2.81\\scripts\\presets\\interface_theme\\blender_light.xml")
else:
    bpy.ops.script.execute_preset(menu_idname="USERPREF_MT_interface_theme_presets", filepath="C:\\Programs\\blender\\2.81\\scripts\\presets\\interface_theme\\blender_dark.xml")

Is it possible -- via an add-on -- to intercept when use_keyframe_insert_auto changes and then have this code execute? If so, how?

If that's not possible, what is the recommended way of handling this?

You can use a message bus subscription to do that.

The following script will call a function when 'use_keyframe_insert_auto' is changing from the UI.

The principle is:

Obtain a subscription link using path_resolve on the scene
Then use this link to subscribe in order to fire a function when the value changes

Here is the code (look at the console to see the printed results):

import bpy

#The callback when use_keyframe_insert_auto changed
def a_callback(scene):
    print( scene, "use_keyframe_insert_auto changed" )

def subscribe_to_scene(scene):

    #Get a rna subscription link from the scene
    subscribe_to = scene.path_resolve("tool_settings.use_keyframe_insert_auto", False)

    #Effectively subscribe to the rna path from the scene
    bpy.msgbus.subscribe_rna(
        key=subscribe_to,
        owner=scene,
        args=(scene,),
        notify=a_callback,
    )

subscribe_to_scene(bpy.context.scene)


How do I get images named sequentially when using the 'Frame step' render option? I skipped frames using the Frame Step Control in the Dimensions panel of the Render tab to output the sequence.

As a result, if you look at the names of the files in the Windows folder, you can see that there are omissions in number increments like img_1, img_3, img_5 ....

I'm currently converting names manually using a separate name batch tool, but this is a cumbersome and repetitive task.

Is there a way to have a sequential number, even if I output a skipped frame using the Frame Step function in Blender?

Thank you for suggesting great methods.

Your method works great on single-pass output.

But there is one thing I have not told you.

I actually want to use multi-pass output using the file output node.

I have found the Time Remapping feature in the dimension panel of the Render tab in other threads, but this causes distortion in the keyframe and interframe spacing.

The way to use the Speed Control Strip in VSE was not distorted, but it could not be used with the file output node. (It seems to be the best way for a single pass.)

The Windows automatic name feature is nice. Thanks Bill Gates, but it is still inconvenient to work with many passes and cuts.

And I'm going to try another batch name tool I did not know about.
I hope I can change the odd number to a sequential number with one click.
But I have not tried it yet.

Is there any other way to get sequential numbering of images output through the Frame Step option and the file output node?

I attached a screenshot at the request of Mutant Bob.

As you can see, I would like to use the file-out node to output multiple passes on one Scene and send it to another composite tool (Natron, Fusion, Nuke, AE,
 Reimport to Blender, etc ...) With the Frame Step option in the Dimensions Panel, fill in the Value Box with two or more numbers. (I'm creating CG for inserting into 12fps 2D animation.)

VSE could not be used with the File Output node because only a single input connected to a Composite node could be loaded into a Strip.

I can think of two techniques:

1) Create a second scene using the VSE to add a Scene strip and then apply a Speed Control modifier to make the scene run double speed.

2) use a shell script to make symlinks like

i=1

S=/var/tmp/blender/knot-hop

D=$S/sequence

mkdir $D

for f in $S/scene1/*.png $S/scene2/*.png $S/scene3/*.png; do
    o=$D/$(printf %04d $i).png
    [ -e $o ] && rm $o
    ln -s $f $o
    i=`expr $i + 1`
done

# make sure we don't have any stale files left over
o=$D/$(printf %04d $i).png
rm -f $o


How to Make Particle Hair Emission Dissipate and Regrow? I'm trying to make each individual hair project from the center and dissolve once reaching a set length, all while others are replacing it, in order to keep the structure of the ball.

Tried a keyframing length of hairs but that would carry the entire clump.

I made the render setting "Line" and adjusted some parameters.


Can Blender render pngs with the background transparent? I would like to render an animation as a series of .png images with transparent backgrounds for use in a video. Is this possible?

Yes this is possible.

To save rendered images with transparent background (PNG format for instance), the settings are as follows for "Cycles" and  "Blender Render" rendering engines.

Cycles

Properties Editor > Render Context > Output Panel

Choose RGBA so that the alpha from the renderer is saved in the png

Properties Editor > Render Context > Film Panel

Check Film>Transparent so that the World background is transparent.

Blender Render

Properties Editor > Render Context > Output Panel

Choose RGBA so that the alpha from the renderer is saved in the png

Properties Editor > Render Context > Shading Panel

Choose Transparent Alpha type.

EEVEE (Blender 2.8)

Properties Editor > Render Context > Film Panel

Choose Transparent Alpha type.


How do I extrude this cylinder? I'm a bit new to blender and I am trying to make a model, but I need to extrude the faces like this:

(The picture shows the inner cylinder)

I currently have this:

When I try to extrude, (I want all of the faces extruded, but to demonstrate I did one) it looks like this:

Then when I tried to move the edges a bit to look similar to the one in the picture, it ends up like this:

And I REALLY dont know how I'm gonna do that for ALL of the faces too, and I dont know how to make it 'symmetrical' so when I move the edges they both move inwards.

Sorry if formatting is terrible. Thanks.

Edit In response to Carlo:

Thanks for the reply, It's successful when I do it, but it turns out too wide for each one and ends up like this (and it also makes a part of it look wiered):

Is there any way to add more faces to it?

Edit 3: Response to Carlo again

1) Keeping modifiers unapplied

Modeling without applying modifiers can be quite tricky.

Tring to keep the Solidify modifier, which basically extrude faces along their normals, isn't probably the best choiche for your task because your reference object has a different depth extrusion on one side.

You could have done that by stacking two Solidify modifiers, but unfortunately currently faces created by another modifier cannot be pickedlike in other software packages (3dsMax...). Probably, with a bit of work the closest thing you can get is something like this:

where I had to Inset faces and pick only a few of them manually in order to put them in a Vertex group which would allowed me to set a different Factor in the modifier for the object's faces.

From the Blender manual page of the Solidify modifier;

  Vertex Group

  Only vertices in this group are solidified - their weights are multiplied by the thickness, so vertices with lower weights will be
  less thick.

and

  Factor

  How much the vertex weights are taken into account.

  On 0.0, vertices with zero weight will have no thickness at all.
  On 0.5, vertices with zero weight will be half as thick as those with full weight.
  On 1.0, the weights are ignored and the thickness value is used for every vertex.

To make the edges sligtly thinner toward the center you can work (for example) on the inner edges of the Full Weight faces:

2) Applying modifiers

If is suitable for the project, it's probably easier to apply the Solidifiy modifier it seems you are using (or extrude the faces inward as in the picture below)

then use the Checker deselect tool to pick one face every two and "Extrude region (vertex normals)" to build the gear tooth.

Pick the iner faces, set Individual origin Pivot, Normal orientation and then scale each faces along the Normal-X axis by pressing in sequence SXX followed by the wanted value.


Is it possible to convert game hair cards into hair particle systems? I ask this question because I am trying to find a way to convert a collection of hair cards from a game into a particle hair system. I tried using the hairnet addon, but It wasn't working for me. I want the hair particles to grow from the hair cap. Below are pictures of the hair cards as a whole and a single one of the hair cards in edit mode if it helps.

There is no method like that. Your only option is to delete all the hair cards and replace them with hair.
It isn't worth it. I would just say go with the hair cards and set all the hair card to any hair texture you like.


Why is my rendered animation showing a hexadecagon border around my image? I am using blender 2.91 for Mac. I am trying to animate an inflating balloon flying away on a still image. When I toggle to camera view everything looks ok, yet when I go to render the animation I get a darker image with a hexadecagon border around the image. I attached two screenshots below to provide further context for my question.
Thank you in advance!

Here's a plane:

Here's the same plane with a subsurf modifier:

Now the object has more vertices instead of the original 4.
The subdivision modifier creates new "virtual" geometry, by interpolating the existing edges and faces.

The Subdivision Surface modifier (often shorten to “Subdiv”) is used to split the faces of a mesh into smaller faces, giving it a smooth appearance. It enables you to create complex smooth surfaces while modeling simple, low-vertex meshes. It avoids the need to save and maintain huge amounts of data, and gives a smooth “organic” look to the object.

If you use (default) Catmul-clark subdivision the object will be rounded.
To keep the plane like a parallelogram, use Simple subdivision:


How to keep a mesh in its original position after applying Curve modifier? I have 3 meshes positioned next to each other, I want to apply the curve modifier on each one of them so that I could bend them in a certain way on the x-axis. But applying the curve modifier changes their position, something to do with the origin. So how do I fix this problem?
By the way imagine three cylinders for the meshes and I want them to bend to look like......well let's say a banana like shape.

The curve modifier makes a given mesh follow a specific curve, this means that the mesh will start at the root of the curve. If you are just looking for a simple bend then i would recommend using the Simple Deform modifier instead. Simple deform lets the mesh retain its original position.
Alternatively you can parent to curve to the object so that the root is always at the origin of the mesh being deformed.


Why have my appended objects lost their rigid body settings? I am working on a scene in which a wrecking ball on a chain crashes through numerous glass cubes.

I created the chain and ball in a different blender file to work more quickly, since the numerous cubes made modelling slow. I created materials for the ball and chain and then made rigid bodies correctly so the chain and ball would swing realistically.

Now that I have appended the chain and ball (About 10 individual objects) from my first blender file into my current file with the glass cubes, the ball and chain no longer move when I press play even though they still appear to have their correct rigid body settings.

It seems that importing multiple objects, each with their own rigid body settings is problematic. Is there any way to get my wrecking ball and chain into my file with the glass cubes without having to remake them within the glass cube file?

Thank you for your time?

This is because there is no Rigid body world in your second file.
To fix this:

Press Add rigid body world in Properties > Scene > Rigid body world:

With your appended rigid body objects selected, press CtrlG to make a group. They should now have a green outline:

Select the group in Properties > Scene > Rigid Body world > Group:


A better way to mix colours ( image ) + mix node going into shader colour input As you can see in the picture , I am mixing a colour from the image editor (for real time texture painting )  with a colour picker going into the mix node .
The image editor has alpha enabled and it's background is set to transparent .
Just mixing these colours together with the mix blend type is obviously not enough , since the mix attenuates the colour values .
So I used the alpha out of the texture node , inverted it and used this to control the fac input of the mix node .
So this is the kind of behaviour one would expect , like the photoshop layers
the only issue I am having right now is that the anti-aliasing filter is  pretty obvious were the colours are mixed , like s soft edge surrounding the colours .
Especially noticeable on the red line
I tried adjusting the brush curve , also set the image node to NON colour data ..but it is still obvious
Does anyone have a better method for mixing colours ( of which one is from the imnage editor ) , or is this the best method
cheers

The alpha channel is always separate than the image, that is why it is available as a separate socket and can be used independently than the RGB information. In other words the Color output socket for the image node ignores the alpha channel, you must use the alpha output socket to use it as control on other nodes.

Also, you don't need to invert the alpha channel if you connect the Image node to the bottom socket. Just feed the color output to the bottom socket and set the other color on the top one.

It's easier if you think of the alpha channel as a mask.

Read the following links:

Overlay more than one transparent images in one shader

and

Change Color Associated with Transparency?

and:

Transparent image like a decal on mesh with principled BSDF shader

and

Add a transparent image on top of a material


How to use Rigify without 3dmodel? Blender 2.8-1
Addon Rigify Human (metarig)
win10
I want to animate the Rigify
Human (metarig)without 3dmodel.
but default Human (metarig) cant do lower the pelvis.(If move the roots the whole body will go -Z)
Is there a best way to do it?

Sorry. My question was bad.
I wanted to use Rigify's Human metarig like Biped(3dsmax).
Biped(3dsmax) doesn't require any special setups, manipulations, or bones to be added, and You don't even need a character model. You don't even need a controller.
Animations attached to it can be imported and baked into the model afterwards and can be customized in complex ways.
IK and FK are supported by default.
There are a lot of tutorials on creating rigs and parenting characters in Rigify, but I haven't seen any on how to use them as described above.
If there are any, please let me know.
I'd like to be able to do this kind of move using only the Human metarig in Rigify.
https://www.youtube.com/watch?v=MAM7mF2v7dE ...
This video has a character model. I want to do this in a .blend file.
I installed Rigify because it has a humanoid armature, like biped, and Paste X-flipped Pose was easy and easy to use.
Blender is a fast-launching software and I thought I would be able to add a little bit of animation to it.
But I don't want to wait to import a rig for a character with a design, even if it' s a fast-launching software.
I don't know if the mechanism is the same, but in 3dsmax I can lower the Root when I Set Key my foot.
What is the solution?

The object you're trying to move is the Meta Rig and it will not move. It's just used to generate the final rig. You can hide it or even delete it. Then you could unhide layer 29  in your final rig (see image). This will show the deforming bones which are very similar to the Meta rig bones.


Model Object appears to be gradually offset from path constraint Link to Video

As my model walks along the path it gradually appears to have some degree of offset where the model will depart from the curve and won't rotate the precisely along the path where the curve seems to have 'many' of the black arrows squished together which you can see in edit mode.

On further experimenting I was able to mostly solve the issue by deleting segments and enlarging the curve so there was less arrows and the remainder were more evenly spaced out.

I think part of the problem was that my mesh is fairly small so when I added the path it might have been over too small an area.

Is there a way to force it so that there is an evenly spaced out number of arrows that won't distort my path?

Actually this one might be more obvious.

The issue is caused by the fact that your origin is not correctly positioned. The animation you applied to your character causes it to move away from its origin, which is why its not working:

To fix this, make your characters walking animation stationary. I would also recommend using the Follow Path Constraint, instead of parenting since it offers more control.

To fix your issue I deleted the movement track in the NLA, and added a key for the correct position to the circle bone.


How can you get a plane with a emission node to be brighter in the center? How can I make a plane emit more light from the center using an emission node?
On this image here made with Cinima 4d The orange and blue planes are emitting more light from the center:

How can I acheve this effect in blender with cycles?

Material
You can use a Gradient node with Object mapping to make a spherical gradient based on the location of the object origin:

The mapping node is just used to scale the texture up a bit.
The multiply node controls the overall strength.
Note that scaling in object mode will stretch the texture accordingly, however applying the scale or scaling in edit mode will not.
AO
It's also possible that your reference image was created with a very heavy Ambient Occlusion effect.
To achieve this:

Enable AO in Properties > Render layers > Passes

Adjust it and multiply it with the combined pass in the compositor:

Combined with the gradient:


Render a orthogonal perspective I 'm trying to render a perspective orthogonal and save it as an image, but don't work

for area in bpy.context.screen.areas:
    if area.type == 'VIEW_3D':
        override = {'area': area, 'region': area.regions[-1]}
        bpy.ops.view3d.view_pan(override, type='PANRIGHT')
bpy.data.scenes["Scene"].render.filepath = 'persp.png'

If this scene is not an animation, you can use the time axis to animate your camera.  At frame 1 keyframe your camera's location and rotation so it is viewing the Right image.  At frame 2 keyframe the camera so it is viewing the Left image.  Continue frame by frame until you have all the views you want.  Then adjust the start and end frame of the animation to match the number of images you want.

Make sure your camera is configured for orthogonal.

Now when you render the animation the camera will hop around to the different locations for the shots and each frame of the animation will be one of the views you want.


How to make fluid rotate rigid body Is it possible to make fluid rotate a rigid body, like in water wheel?
I have a stick, which is constrained to rotate around one axis, but fluid, falling from pipe, doesn't affect it

As of now (v2.78) the various simulations engines inside Blender are not cross-connected enough to enable this.

Even if you manage to have rigid bodies be effected by the fluid mesh, the fluid mesh needs to react back to the motion of rigid bodies. So all the elements have to be simulated at the same time.

In volumetric fluid the cells don't move, it only appears the fluid does. The fluid motion is mesh animation with different mesh each animation frame. There is an option to generate flow particles inside the fluid volume, but the results are not accurate and they don't work very well.

If you need fluid physics I suggest look into SPH particles that you can mesh into fluid with CubeSurfer addon (video here).

You can have particles act like rigid bodies and have them effect other rigid bodies. Use this script from liero (source) to copy Particles to Rigid Bodies:

bl_info = {
    "name": "Copy Particles to Rigid Bodies",
    "version": (0, 0, 10),
    'location': 'Tool bar > Physics tab > Particles to Simulation',
    "description": "Transfers dupliobjects from a PS to a Rigid Bodies simulation",
    "category": "Animation",
}

import bpy, random

class Particles_to_Sim(bpy.types.Operator):
    bl_idname = 'object.particles_to_simulation'
    bl_label = 'Copy Particles'
    bl_description = 'Transfers dupliobjects from a PS to a Rigid Bodies simulation'
    bl_options = {'REGISTER', 'UNDO'}

    @classmethod
    def poll(cls, context):
        obj = bpy.context.object
        return(obj and obj.particle_systems)

    def execute(self, context):
        wm = bpy.context.window_manager
        scn = bpy.context.scene
        fps = scn.render.fps
        obj = bpy.context.object
        set = obj.particle_systems[0].settings
        par = obj.particle_systems[0].particles
        txt = 'Set Particle System dupliobject to a Rigid Body object / group'

        # disable simulation
        scn.rigidbody_world.enabled = False

        # to avoid PS cache troubles
        # obj.particle_systems[0].seed += 1

        # get dupliobject from particles system
        if set.render_type == 'OBJECT':
            duplist = [set.dupli_object]
        elif set.render_type == 'GROUP':
            duplist = set.dupli_group.objects[:]
        else:
            self.report({'ERROR'}, txt)
            return{'FINISHED'}

        # check if dupliobjects are valid
        for d in duplist:
            if not d.rigid_body:
                self.report({'ERROR'}, txt)
                return{'FINISHED'}

        # an Empty as parent allows to move / rotate later
        bpy.ops.object.add(type='EMPTY')
        bpy.context.object.name = 'Bullet Particles'
        bpy.ops.object.select_all(action='DESELECT')
        root = scn.objects.active
        delta = obj.location * wm.use_loc
        root.location = delta

        for p in par:
            dup = random.choice(duplist)
            btime = round(p.birth_time, 2)
            scn.frame_set(btime)
            phy = bpy.data.objects.new('particle.000', dup.data)
            scn.objects.link(phy)
            scn.objects.active = phy #..?
            phy.select = True
            phy.rotation_euler = p.rotation.to_euler()
            bpy.ops.rigidbody.objects_add(type='ACTIVE')
            scn.frame_set(scn.frame_current) #..?
            phy.parent = root
            phy.select = False
            sca = [p.size * s for s in dup.scale]

            # copy some rigid body settings
            phy.rigid_body.collision_shape = dup.rigid_body.collision_shape
            phy.rigid_body.restitution = dup.rigid_body.restitution
            phy.rigid_body.linear_damping = dup.rigid_body.linear_damping
            phy.rigid_body.angular_damping = dup.rigid_body.angular_damping
            phy.rigid_body.friction = dup.rigid_body.friction
            phy.rigid_body.mass = dup.rigid_body.mass

            # keyframe unborn particle
            phy.scale = sca
            phy.location = p.location - delta
            phy.rigid_body.kinematic = True
            phy.keyframe_insert('location', frame = btime)
            phy.rigid_body.keyframe_insert('kinematic', frame = btime)

            # keyframe particle pop up
            if not set.show_unborn:
                phy.scale = [0,0,0]
                phy.keyframe_insert('scale', frame = btime - wm.grow_frames)
                phy.scale = sca
                phy.keyframe_insert('scale', frame = btime)

            # keyframe alive particle
            phy.location += p.velocity / fps * wm.vel_mult
            phy.keyframe_insert('location', frame = btime + 1)
            phy.rigid_body.kinematic = False
            phy.rigid_body.keyframe_insert('kinematic', frame = btime + 2)

        # hide emmitter
        obj.hide = obj.hide_render = True
        scn.frame_set(scn.frame_start)
        bpy.ops.object.select_all(action='DESELECT')
        scn.objects.active = root
        root.select = True

        # enable simulation
        scn.rigidbody_world.enabled = True

        return{'FINISHED'}

class PanelP2RB(bpy.types.Panel):
    bl_label = 'Particles to Simulation'
    bl_space_type = 'VIEW_3D'
    bl_region_type = 'TOOLS'
    bl_category = "Physics"

    @classmethod
    def poll(cls, context):
        obj = bpy.context.object
        return(obj and obj.particle_systems)

    def draw(self, context):
        wm = bpy.context.window_manager
        scn = bpy.context.scene
        obj = bpy.context.object
        set = obj.particle_systems[0].settings
        layout = self.layout
        layout.operator('object.particles_to_simulation')
        layout.prop(wm, 'use_loc')
        column = layout.column(align=True)
        column.prop(wm, 'vel_mult')
        if not set.show_unborn:
            column.prop(wm, 'grow_frames')
        column.separator()
        column.prop(scn.rigidbody_world, "use_split_impulse")

bpy.types.WindowManager.vel_mult=bpy.props.FloatProperty(name='Speed',
        min=0.01, max=50, default=1, description='Particle speed multiplier')
bpy.types.WindowManager.use_loc=bpy.props.BoolProperty(name='Origin at emiter',
        default=True, description='Place simulation root object at emiter start position '
        ', maybe disable for animated emitters')
bpy.types.WindowManager.grow_frames=bpy.props.IntProperty(name='Grow time',
        min=1, max=50, default=1, description='Frames to scale particles before simulating')

def register():
    bpy.utils.register_class(Particles_to_Sim)
    bpy.utils.register_class(PanelP2RB)

def unregister():
    bpy.utils.unregister_class(Particles_to_Sim)
    bpy.utils.unregister_class(PanelP2RB)

if __name__ == '__main__':
    register()

But the problem remains the same. You can have either particles with rigid-body properties, or particles with fluid properties, but not both at same time and not simulated at same time. Same with volumetric mesh fluids. There is no way to have mesh deformation effect rigid body and at the same time be influenced back.


How to select two individual points without selecting other edges? I am a newbie in Blender, sorry for any possible noob question.

Was watching a youtube tutorial about making hands.
Everything was functioning well, until the point where he selected two vertices and merged them together.

In the video, he selected two vertices and then alt-m to merge them together, without the edges and other vertices in between being selected and merged together.
However, when I tried to do the same, the points in between is automatically selected and then also merged together, created an unwanted result (eg. If I tried to select two vertices in a v-shaped plane, the other vertice will also be selected).

Is there a setting or a hotkey where I can prevent this from happening? Thank you.

Video for reference: Blender Character Modeling 5 of 10

Select Mouse, i.e. the mouse button used for selection (see User Preferences), will call the Activate/Select operator which, by default, selects one vertex while deselecting the rest.

Shift + Select Mouse will call Activate/Select and toggle selection of vertices instead of deselecting other vertices, allowing you to multi-select individual vertices.

If a path of vertices is being selected when you attempt to multi-select, you're using Ctrl + Select Mouse which calls Pick Shortest Path, the operator that selects all vertices in a path between two individual vertices.


What's the quickest, easiest way to point the camera somewhere in blender? Often I want to just point the camera to an object or a specific area in my scene to get an idea of how it'll look in the render. What's the most painless hassle-free way to do this in blender?

A quick search on the blender wiki does not lend itself to easy look-up due to all the noise in the search result.

This question could probably be broken down into these two main questions:

How do I point a selected camera to the current 3d-cursor location in the scene?
How do I point the selected camera to the currently selected object(s) in the scene?

The absolute quickest way to do this is to find a good position in the 3d viewport by navigating as normal with the mouse. Next, select the camera and use Ctrl + Alt + Numpad 0 or from the 3d view header, View > Align View > Align Active Camera to View to position/point the camera in the direction you are facing in the viewport.
Alternatively, to point the camera towards an object, you can select the camera, add a Track To constraint to it (constraints can be added in the Constraints tab), choose the object in the Target field, -Z in the To field, and Y in the Up field.

The camera will now always point at the object no matter where it (the camera or object) is moved to. This way isn't very efficient however and it is much better to point the camera towards an empty and then position the empty wherever the point of interest lies.


Group of objects appear blurry and distorted after render? I am making a bar music visualizer in cycles with a group of bars. When I render out a single frame, the visualizer appears blurry and distorted around the edges. This happens after compositing. I'm thinking it has something to do with the objects themselves.. Kindly advise me on this. (I have attached my blend file to this) Here is the blend file

I am trying to achieve the second one, however the background image in the render result is always blurry.

First of all, the ID Mask doesn't return a part of the image, but rather a greyscale value that is meant to be used to mask parts of the original image, e.g. by use of a Set Alpha node or an Alpha Over node. The following node setup is a template for adding glow and blur to parts of an image. It can be adapted to more specific needs, but in your case I think it'll work well as it is (click to enlarge).

The first Mix node mixes the original image with black, making it black where the mask is black and the original colour where the mask is white, and a blend of the two where, if at all, the mask has any shades of grey.

I changed the Glare node. I set the quality to High. Then I set the Mix to 1.000. This makes the node output the processed image only. 0.000 means a 50/50 mix between the original and the processed images, and -1.000 means original image only. By turning the Threshold down to 0.000 all pixels are affected. Higher values makes pixels with intensity below the threshold pass through unaffected. Note that the effect of the Glare node will be less visible if you render a larger image.

I also changed the Blur node. I set it to Gaussian rather than Fast Gaussian, and increased the amount slightly and turned the Size up to 1.000.

I also did turn down the emission strength in the material for the bars to 1.000. That, however, is just personal taste.

And this is the result I got (click to enlarge, the reason the background is pink, is that I don't have the image you used to texture it).


Start a particle’s animation when it’s in a certain location with animation nodes? That title is quite the mouthful, so I’ll try to explain my issue as best I can, which I had for like 5 days now and simply can’t find any solution to.

Context:

I have a plain that is subdivided a bunch of times, and is being warped from point A to B (not really important where, just from one place to another) with a warp modifier. I have a hair type particle applied to this plane, and the particle itself is an instanced object that is rigged with an armature, and is animated from frame 1-80 on the timeline.

Issue:

The problem is that on the plane, all the particles animate at the exact same time from frame 1-80, which is not what I want.

Desired result:

What I actually want to happen is that the particles should animate when they’ve been warped to point B. This of course means that when it’s warped, the particle is in a different xyz coordinate, which I’ve read can be used to trigger the animation of the particle using animation nodes. (specifically I’ve read it here, which I’m not exactly sure is still useful info considering that thread is over 8 years old) So for example’s sake, let’s say when the Y coordinate of the particle is 0<= then start the animation.

Now I’m completely new to animation nodes, I just installed the addon, and watched some pretty basic tutorials on it. So I have absolutely no idea how to accomplish this task. I'm not sure AN is even needed to achieve what I want, but from the dozens of threads I've gone through, it seem it's my only option. So if you can help with this, or perhaps have any other idea on how to achieve this result with other methods, I’d be very grateful for any help!

Thanks!

Not sure if this will be helpful, but I had a similar project where I was trying to animate a crowd of simple stick figures, but wanted them to be in different parts of their walk cycle so they didn't look like they were marching.

In my case, rather than rigging, I used shapekeys to animate the characters, used particles to instance the objects (as you're doing,) then had animation nodes cycle through the shapekey animation based on the overall animation frame #, but assign a unique offset value for each character's animation so they wouldn't be in lockstep.

Using shapekeys like this worked for my simple animation, not sure if it would work for your situation. Sample attached.


Is there a way to assign a custom wireframe color for objects? I deal with quite a few objects with interesting edges, and it's becoming impossible to see which element belongs to which object, when they all have the same color. Is there a way to set custom wireframe colors?

Since Blender 2.8 there is an option for colored wireframes.
At the top right of the viewport, select "Wireframe" shading, then under the shading dropdown arrow ("Viewport Shading") you can set Color to Single, Object or Random.


Why is the underlying command of "select all" not working when executed with python? (Grease Pencil) While in edit mode of a grease pencil object, the tooltip of "select all" says that the corresponding python command would be bpy.ops.gpencil.select_all(action='SELECT').
This is also confirmed by the Info Editor.
But when I try to run this command while in edit mode (either from the Python Console or in a script), it doesn't select anything.
For example this code doesn't work (if the vertices weren't already selected):
import bpy

# change to edit mode
bpy.ops.gpencil.editmode_toggle()

# select all vertices (doesn't work)
bpy.ops.gpencil.select_all(action="SELECT")

# move the selected vertices
bpy.ops.transform.translate(value=(-0.5, 0, 0), orient_type='GLOBAL', orient_matrix=((1, 0, 0), (0, 1, 0), (0, 0, 1)), orient_matrix_type='GLOBAL', mirror=True, use_proportional_edit=False, proportional_edit_falloff='SMOOTH', proportional_size=1, use_proportional_connected=False, use_proportional_projected=False)

What am I doing wrong?
I use blender 2.90.1 (same behavior occurred in blender 2.91.0 Alpha).

To do with API methods
As commented, the code used looks like it "should" work. Have answered showing a low level alternative to move the gp data points.
Move all points of all strokes of all frames of all layers of the gp object's data.
Narrow down using active frame or layer if required.
import bpy
from mathutils import Vector
from bpy import context

ob = context.object

gp = ob.data
active_layer = gp.layers.active
active_frame = active_layer.active_frame
for layer in gp.layers:
    for frame in layer.frames:
        for stroke in frame.strokes:
            for p in stroke.points:
                p.co += Vector((0.5, 0, 0))

Selecting via operator appears to need 3D view area for context.
Can select all the gp data via operator, by overriding the context to include the 3D view area, eg
import bpy

# assume is in EDIT mode
for a in bpy.context.screen.areas:
    if a.type == 'VIEW_3D':

        # select all vertices (doesn't work)
        bpy.ops.gpencil.select_all(action="SELECT")
        # run in 3d area or override context to "pretend" in 3d area works.
        bpy.ops.gpencil.select_all({"area" : a}, action="SELECT")
        break

However the transform translate operator, on attempts so far,  always returns cancelled. Any attempt to override causes death to blender.


I need to merge these two objects together, with different geometry Image of two separate objects, the outer shell of the helmet and the neck piece

Here is another image to represent the difference in the geometry of the two objects

What I am attempting to do is to merge these two objects together so I can give a solid look to this helmet, any ideas of what I can do to accomplish this?

Joining both the mesh will not get a better geometry so i deleted the below part. To get a better geometry.

I added a cube and align little bit near the cut or jaw.

I remove doubles (In edit mode -> select all press W key and remove doubles)

With the helmet selected add boolean modifier -> target the cube and apply

With the below faces selected. Extrude and scale down and once again extrude little.

Add smooth shading

Add edge modifier

Add subsurf modifier

If you see some corner edges.Go to edit mode and select the edges and dissolve them.

This is the result.

Due to large size of gif. click here to watch the preview and to enlarge the preview click on the preview


How to remove rigid body setting from all the objects? I have a big scene that I partly created using rigid body physics. I am happy with the objects now and I applied the visual transform, but I don't know a way to remove all the physics from this system now.

Joining the meshes sounds kind of a wrong "hacky" way to do it. In some situations joining meshes would be quite bad idea, because it would destroy your parentings and all that plausible other stuff that could be messed up with that method.

I can also make all the meshes passive simultaneously by holding ALT while doing it, but it doesn't remove the rigid body setting completely. If I try that same ALT clicking for the "rigid body" button, it doesn't do it for all the selected objects, only from the active.

So what is the correct way to remove rigid body physics from all the objects after you have applied the visual transform from them?

Select rigid body objects run remove operator.

An object is a rigid body if it has a rigid_body property that is not None

is_rigid_body = ob.rigid_body is not None

See Select Active Rigid Body Parts

Script that selects objects if they are a rigid body of a certain type.  Once selected running

bpy.ops.rigidbody.objects_remove()

Will remove the rigid body settings of selected rigid bodies.

Disable the rigid body world

As commented can disable rigid body world.  Cam temporarily disable via

scene.rigidbody_world.enabled = False