text:
Trouble getting my character to follow a curved path
I seem to be having issues getting my character to follow a curved path I've set up. I've been playing around with it and nothing seems to work properly. Whether I parent the bones in Object Mode to the path using Ctrl + P, or adding a Constraint to the bones, my character either just walks on the spot, walks around the path in a diagonal position, or walks but then the animation stops. Even if I adjust the amount of repeated steps, the scale, the amount of frames etc. nothing seems to work. I think the axis are a bit messed up with my rig somewhere.
Can someone please take a look at my file and help me solve this? I'm completely at a loss how to get this working properly. The default frames for my walking animation is 40.
Thanks.

Put the origin of the curve at its beginning vertex (shift ctrl alt C > Origin to 3D Cursor).
Disable the different Follow Path constraints of the character objects (you don’t need them).
Switch your armature to Object mode, give it a Follow Path constraint, choose the curve as Target, enable the Follow Curve option.
Clear the Location of the armature with an alt G.
Rotate the armature the way it is supposed to be (R+Z+180).
Select the curve.
Open the Graph Editor, display the properties panel (N), open the Modifiers tab and deactivate the Generator (which is automatically created with the Follow Path but won't help you here).
On the Timeline go to frame 0.
Keep the curve selected and go to the Properties panel > Data > Path Animation, choose an Evaluation Time of 0 and and insert a keyframe.
On the Timeline go to the frame you want, and in the Properties panel > Data > Path Animation, insert a new keyframe in the Evaluation Time with the value you want.
In the Graph Editor, put your mouse over the graph and press T > Set Keyframe Interpolation, and choose Linear so that the movement along the curve is linear.

You can speed up the animation of the character along the curve with the Evaluation Time value.
You can speed up the walk cycle speed itself in the NLA Editor (right properties panel > Scale value).
But first, make sure first that no action is loaded in the Dopesheet editor, otherwise this action will play over the NLA strip.
Also, note that you can quickly edit the action of a NLA strip, selecting the strip and pressing Tab. The pin (on the left of the track) will allow you to see the animation with or without the NLA settings effect.

Thank you so much for your help. That's pretty much got it. :D However, I can't seem to get my character to continuously walk from start to finish. Even when adjusting the scale and number of repeated steps. He gets to frame 40 and just stops animating. If I put the total frames to 40, he'll animate to the end, but the walking will be far too quick. Again, adjusting the scale and repeat doesn't do much.

Also, what exactly does that Generator do under Modifiers? And why do keyframes need to be added to the curve itself? Thanks.

As soon as you create a Follow Path constraint to your object it automatically creates a Generator, but it's much more convenient to control the animation with keyframes and graph curves so most of the time I guess you'll have to delete it.

about your walk, you need to play with the speed along the path, with the amount and scale of the strip, etc... also you have to avoid any feet gliding, it's a bit hard to fix of course   ;)

I can't seem to get it. :-\ I keep adjusting the number of frames, scale, repeated steps, but as I say, it either animates from start to finish too fast, or the walk cycle stops at frame 40 every time even if I manage to slow it down. It never reaches the end of the path.

please share your file again

I've updated the save file. :)

You need to play with the second Evalutation Time keyframe, don't put it at 40, but for example at 4, you will see that the movement is much slower and realistic (well, now you'll have to fix the feet gliding I guess). To make it clear, consider the Frames value (above the Evaluation Time) as the amount of segments of your curve, and the Evaluation Time as the segment where you want your object to be at.

Argh, I'm still not getting this at all. >_< Putting the Evaluation Time to 4 gives me better walking speed, but increasing/decreasing the amount of frames, repitition, scale still isn't helping with getting the character to reach the end before his 40 frames of animation finishes. :-\

if you want him to finish his walk in only 40 frames you need to accelerate his walk speed, so go in the NLA > right menu (N) > Animations tab > Action Clip > Playback Settings > Scale. If you want the animation to be displayed in its normal speed in the Dopesheet / Action editor mode, unpin the pin icon of the track in the NLA. Also, you'll need to repeat the cycle in the NLA (one is not enough for the whole curve), the Repeat value is below the Scale.

Unpin the pin icon of the track...? I don't follow. I'm not seeing a pin icon.

once you select the strip and press Tab  ;)  it gives you access to the animation in the Dopesheet

Ahh, okay. I had no idea you could do that.

oh ok I think I've figured out what may happened, actually maybe you were unable to see any change in the speed when you changed the Scale value because the animation was actually loaded in the Dopesheet, so it was playing the selected Dopesheet action and not the NLA strip, so just close the action in the Dopesheet (X) and then in the NLA make the Scale and Repeat changes you want

Ahhh, that makes it easier to adjust correctly. Excellent. :D I never would have figured that out... Thank you so much. :)

What exactly does pinning and unpinning do?

show the animation transformed or not by the NLA settings


text:
Animation deforms in Unity
I've imported a character into Unity for a college project and for some bizarre reason, the legs of my character 'squash upwards' when his idle animation plays, either in-game or in the preview window. If I load my character up in Blender though, the animation is perfectly fine. Nothing deforms incorrectly. I'm not sure what the problem is or how I could fix it. I've also tried exporting it as an FBX file, but the animations flicker or the character completely disappears when they play.

Select bones. CTRL+A (apply transformation), play animation on Blender. It will deform. This is the same result you see in Unity. Delete your animation. Correct and regenerate (re animate) your bones. Now, if you export, unity will see them correctly.
You ALWAYS need to ZERO (freeze), CTRL A (apply transformations) To anything you do in rigging before start animation.

Okay, thanks. It's something I'll need to bare in mind for the future. What's odd though is that if I solo the idle animation in Blender, save and copy it over to Unity, the animation plays fine. It's only when I have my idle and jump animations that it does it. Thankfully the idle animation isn't that difficult to do, so I'll give it a go.

source: Stack Exchange

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

sort: votes


text:
Weird glow in render
I've made a Yooka model from Yooka-Laylee as part of a college assignment, but I've noticed a weird glow either below the top lip or on top of the bottom lip. I'm currently using a Toon Shader and I've messed around with the Size and Smooth settings. It does the same thing just using a Diffuse shader. I've even tried positioning the light source, but it doesn't help. Any ideas? Also, what could I do to get rid of that green reflection from the eye? The cornea uses a glass shader and, again, I've tried messing with the properties but it's not helping.

Thanks

It would be useful if you could provide more info regarding your material setup. Can you edit your question to include images of your nodes and also share your blend file if possible.

I'm not using nodes; just the material's properties. I'm also using Cycles Render. I've uploaded a save.

Cycles materials are nodes. When you use the materials properties tab, it just creates the nodes in the node editor.

Oh, sorry. I just meant I wasn't in the Node Editor adding my own custom nodes.

The glow simply comes from a lamp you let inside the head, lighting up strongly everything inside and bleeding outside. Delete that lamp and you'll be fine.

D'oh. Nicely spotted. Thank you. Thought it was some setting that needed to be adjusted, but turns out it was a silly mistake on my part. No idea how that got in there lol.

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


text:
Confusion over animations in the Dope Sheet and NLA Editor
I'm currently confused as to what's going on with my animations. If I click the star icon to lock a certain animation and mute the others, each animation works correctly. If I have none starred, the default animation is always my walking animation, and the animations don't play correctly if I select them from the Action list; parts of the mesh deform. The character's right foot for the walk animation looks as though he's hobbling or trying to walk on tip-toes.
I can have nothing selected in the NLA Editor or nothing from my Action list under the Dope Sheet, but it will always play my walking animation by default. I'm not sure why or how to change this.
It almost seems like one or two of my animations have inherited keyframes from other animations with the way they deform. I even tried deleting every key frame from every animation so nothing shows for each action, and yet I've noticed the hands still move slightly. o_O
Why animations are the 'right' ones according to Blender? The ones I can star under the NLA Editor or the ones that are broken via the Action list of the Dope Editor. I'll upload my save file.

The action that will be played will be the priority one on the NLA, i.e. the one on top track, except:

1: If you've selected a strip in the NLA and pressed tab to edit its action in the Dopesheet/Action Editor. To come back to the normal NLA running, press tab again on the NLA (or press the X button on the right of the action name in the Dopesheet/Action Editor).
2: If you've loaded an animation in the Dopesheet/Action Editor mode from the dropdown menu. To come back to the normal NLA running, press the X button on the right of the action name.

But be careful: If the animation you've selected misses keyframes for some of its bones, these bones may be playing some inexplicable keyframes, actually coming from other NLA strips below your one or from previous animation. To prevent this to happen you can press the star icon of your track or mute the others. But the best thing to do is to keyframe your whole armature in Pose mode, at the beginning of each action, to make sure that no bone will inherit pose from another action, unless you have a good reason not to.
Also, about NLA strips: If you want the keyframes of an animation strip to continue to influence the armature even after the end of the strip length, choose the Hold option in the Extrapolation dropdown menu of the Properties panel of the NLA (activate with N > Animations > Active Strip.
About actions: Don't forget to press the F button on the right of the action name, in the Dopesheet/Action Editor mode. This way you're sure this action won't be deleted when you'll reopen your file, even if it's not used anywhere.
About your foot hobbling, it happens in the middle of your action, frame 20 when the left foot is forward. To fix it, go in Pose mode, select all the bones at frame 0 (or at least the leg bones), ctrlC, come to frame 20, where the pose is supposed to be inverted, select all your bones and press shiftctrlV, then i to keyframe the pose. It works.

Thanks for the info and the suggestion. :) How do you change the priority animation, such as from Walk to Idle? Is that even possible?
I've also noticed that if I play the walk animation and then select the Idle animation either from the Action list or pressing tab on the strip, the idle becomes deformed and looks like some weird mech from a Metal Gear Solid game lol.

I'm still really confused when setting up a new Action or strip. I'll click on the cross to remove the current one, create a new one and name it, go to the NLA Editor, add a keyframe for a bone or two, and click on the drop-down arrow to add the strip, but it still incorporates the walking animation to the new one, making it look deformed. :-\

to play a strip then another one you can put the second strip after the first one on the same track, or let the second one on his own track below, but in this case make sure that the first strip extrapolation is set to Nothing (in the N panel, on the right of the NLA editor > Animations tab > Active Strip > Extrapolation), otherwise the others strips below won't play.

Also, if you bring some modifications to your action, make sure that you've refreshed the strip length, in the N panel > Animations > Action Clip > Sync Length + click on Now button

oh and another thing you need to know: if there is no keyframe for some bones on your top strip, the keyframes for these bones of the strip below will be taken into account

I'm sorry, I'm just getting more and more confused. What exactly does Extrapolation do? What's its purpose?
I'm still getting the issue where every new Action/Strip I set up is playing my walk animation and adding keyframes to the new strip is just making the walk animation go all deformed. :(

you should work on some NLA tutorials because it's getting hard to explain. Extrapolation is the way the strip continues or not to influence. If it is set on Hold, the strips below this strip won't be able to play, if it is set on Nothing the strips below will be able to play. But note that if the action above another has not keyframed some bones, then the armature will be able to play the keyframes of the action below. That's a good reason to always set a keyframe for the whole armature at the end of an action, unless you have a good reason not to.

Okay, so if I don't keyframe all of the bones in a strip, this is why some of them are inherited in another strip and causing the animations to deform?

that's what I told you in my answer: ", it’s probably because at the beginning of this new action you haven’t determined any new keyframe for this bone, so it will keep the one determined by the previous action."

Sorry, I'm just trying to process and get my head around it all.

sure it takes time to understand  ;)

I've added a recent save to the first post. I'm not sure if you can figure it out, but the right arm has inherited something as it keeps twisting round a bit in the last keyframe causing a noticeable judder when it reloops. I can't work out what's causing it.

Apologies if you have covered this, but, what is the correct way of activating and deactivating each animation? I thought that selecting the desired animation from the Action list would be it, but it doesn't make any difference; it keeps playing the default animation, which is my walk cycle. Selecting a strip so it turns orange doesn't work either. Is it only via pressing Tab or clicking on a star?

I'm looking at your file and trying to find where your problem comes from. About your question, what do you mean by activating and deactivating? If you mean you want to work on one of your animation to make some modification, you can either select it in the NLA and press tab, or select it in the Dopesheet/Action mode.

It just seems like whenever I go to create a whole new animation, I'll create a new one from the Dope Sheet, but scrubbing along the timeline, an animation plays, which makes me wonder if this is why it's inheriting keyframes from other animations. I'll select all the bones, add a keyframe, a strip is made in the NLA Editor, but I notice something has been inherited. Like with that right arm's rotation I mentioned you're looking into. And that same arm keeps twitching in a new strip.

the arm problem comes from another strip below this one, there are keyframes lacking for somewhere on your arm in your walk cycle, and as I explained, if you don't set keyframe for a bone it will play a keyframe set in one of the animations below, there must be a setup to prevent that but that what's happening here. Also to make it easier to switch from NLA to Dopesheet animation, you should begin your timeline at frame 0.

Also make sure that the first pose and last pose of your animation (0 and 40) are the same. And the pose at frame 1 is not good, it will make the armature jerky, you should delete it and rework it

If you want to create a brand new animation, go in the Dopesheet/Action Editor mode, click New, and if you want your armature to be reset at its rest position, select all the bones and press alt G and alt R then i to keyframe, you're now sure that all your bones are at their basic position, then begin to work.

I'm editing my main answer to try to introduce all these points, I hope it will help.

Okay, I'll try to bear that in mind when I do a new animation. :) Now I've gone and deleted every keyframe from every animation, and the bones for the arms still keep twitching as though they've inherited a keyframe. I've no idea what's going on with this...

again, keyframes from other tracks, you should click on the star icon to only play your track, but more generally, always keyframe your whole armature at the beginning of an action to make sure it will be the only one playing, unless you have a good reason not to.

I think it's related to the two Jump strips. All the keyframes have been deleted, but there's another green strip at the top of each one with what looks like three keyframes. No idea how to delete these though.

Am I best clicking on the small speaker/channel next to each strip? It says the channel will contribute to the result. If this is muted will that prevent keyframes from being inherited?

when you work on your strips and animations you could use the speaker or star, but you should also try to make good animations, i.e. animations with keyframes for all the bones at the very beginning, so that it prevents any influence from any other tracks

But just to clarify, that speaker prevents keyframes from being inherited, right...?
Thanks for all your help though. I think I've got my animations sorted and working correctly. Plus, I've learnt a bit more about the Dope Sheet/NLA Editor. :)
Just one final quick question: what does NLA stand for?

It depends when you mute the other tracks, if you do it after it read the keyframe of a bone, the bone will stay at this position, that's why it's always better to keyframe your whole armature in Pose mode at the beginning of an action, you're sure you won't have any bad surprise. NLA = non-linear animation. It is made to mix, combine, repeat animations.

Cool, thanks. I'll be sure to keyframe the whole armature as you say, but I'll also click on the small speaker as well. :)


text:
Materials: How to compare two vectors?
I'm looking for a method that compares two vectors in order to use a mix color/shader.
Example : If the camera looks at the object from atop (as the two vectors align) it should select material A. As the camera moves to a different angle away for top of the object, the material gradually change for B.
What I want to do :

It has to be based on the object orientation and not the world origin (x,y,z).
It should allow to select any angle as an input. This means calculations with the object orientation and the input vector.
It cannot be a Facing as it is based on face Normals and wouldn't select the material for the whole object but only for faces.

I thought I had to get:

Camera angle
Object Angle (pivot) + Any angle I choose (as an
input)

Input>Camera Data is the one for the camera (obviously).
I cannot find the orientation of the object (or something related). The nodes Input>Geometry and input>Object data do not seem to provide that data.
Converter>Vector Math seemed to be a good candidate.
Basically I thought a subtract or a Vec1,Vec2 angle comparison would be ok.
But everything I try is not working. Not even close. Any help is welcomed.
EDIT 1:
I hope those images will help understand the question.
Situation 1 : The camera is aligned with the purple vector. Suzanne has a blue material. BTW This vector is determined by user.

Situation 2 : The camera is NOT aligned with the purple vector. Suzanne has a completely different material.

EDIT 'going further with @Shady'
@Shady puck has provided step one solution. When the camera aligns with the Z axis of Suzanne the material is properly selected. I made a blend file and attached it here to document it properly.

more testing on solution A by @Shady puck

Edit 'Going further with batFINGER'
Remarkable. The concept of using one object to provide the necessary data is good as it provides levers (sort of) that can be easily manipulated in the scene. I did implement your solution and did some tests. I only took the liberty of changing some names in your script. Also I took care of respecting name conventions (sort of speak).
A/ It seems I have to select the control object (in this case the yellow cone) before using the animation slider to be able to see a change. It non the less render.
B/ It seems when I press space (B2.80) the animation has trouble changing the colors unless I move the mouse cursor over the custom panel/TextInput named “angle” (in and out). Rendering it, doesn’t seems to work.
C/ If I clear all links and then “link” Suzanne and the Camera, it works but only sometimes and I don’t know why. Selecting one or the other isn’t a guaranty of success. Which makes me wondering about A a little more. Rendering in EEVEE also make the material flicker between 2 colors when I’m luck to see any change.
Maybe I did something wrong. Blend file provided.

Are you looking for Dot Product? This outputs 1 if the angle is 0 degrees and 0 if the angle is 90 degrees (and anything in between 0-90 is on a scale of 1-0.

@ShadyPuck I tried it. But I'm definitely not an expert in this "vector' area. It has to cover 180° so that when you're looking at it from the bottom the right material is selected. Maybe it won't work.

Drivers allowed?

@lemon Why not ?

You can use a modification of a Vector Product. Here is the node setup:

Let me explain how this works. First, Geometry > Normal gets the normal vector of each point on the object. The Separate XYZ and Combine XYZ nodes respectively isolate the z-component of each vector and return that value as a vector. Because vectors that lie more in the xy-plane than others will have a smaller z-component, it is necessary to normalize every vector.
At this point, it would generally do to use the Dot Product to compare the magnitudes of the two vectors. The Dot Product maximizes when vectors are parallel and minimizes when they are perpendicular. For some reason (someone please edit if they know why), the Dot Product is rather glitchy in this case. So I substituted the Cross Product, which maximizes when vectors are perpendicular and minimizes when they are parallel. This had the desired effect. I compared the z-vectors with the Geometry > Incoming vector, which gives the vector from a point to the camera.
Normal vector: A vector that is perpendicular to the surface at the given point.
Normalize: To make a vector or vectors all a standard length (usually 1 unit).
Vector math is a fascinating subject. Consider reading more about the cross product (sometimes referred to as the "Vector Product") here.
Edit 1
As the OP referenced, the above solution separates out the view from the $\pm$z-axis for material selection. Now for a custom view, the so-called pink arrow. Try as I might, I could not find an automated solution that directly pulls the rotation data from the pink arrow in the scene.
First, a note on how vectors are defined in three dimensions.

Google Images
A vector, like the one represented by the pink object above, has an x, y, and z-component. In the picture above, to "get" from the origin of the graph to the tip of the vector would require you to move +2 units in the x-direction, +3 units in the y-direction, and +5 units in the z-direction.
This data can be directly (by hand) entered into the node editor. To compare the camera view to the pictured vector, enter the pictured data into the Vector Math > Normalize node, as follows. This has the added advantage of normalizing (see above) the vector at the same time.

Now, with mostly the same node setup...

...we get this result (my pink vector is the (2,3,5) one). Note that the sphere aligns with the pink vector while Suzanne aligns with the z-axis.

For your vector of choice, use the above info on defining vectors to define yours and substitute its components.
Component: A part of a vector that gives its magnitude in one, specific dimension.
Edit 2
Looks to me like my edit worked, but you defined your vector in terms of local as opposed to global coordinates. I have modified your nodes in your .blend file to line up with the pink vector as follows.
I took these two screenshots of the global coordinates -- first of the base of the vector and second of the tip of the vector:

Let's call the ordered pair of the base $(x_0,y_0,z_0)$ and the ordered pair of the tip $(x_1,y_1,z_1)$. From this data, it is possible to find each component of the vector by subtracting$$n_0-n_1=\vec{n}$$
Therefore,$$\begin{align}
x_1-x_0&=\vec{x}=0.799\\
y_1-y_0&=\vec{y}=-2.203\\
z_1-z_0&=\vec{z}=0.657\\
\end{align}$$
If we plug these values into the Normalize node, we get the expected behvior.

Ordered pair: A group of elements denoting the one dimensional translations necessary to move from the origin to a point.

You got it for step 1. The material is properly selected when the camera aligns with the Z or the -Z axis of Suzanne.  Now how can i make it so it aligns with the purple vector? I thought i use a vector math/Add but it's not it.  NB: OP updated with Step one blend.

Good to see the puckster of shadiness

@4E71-NOP Please see if my edited answer satisfies your question. If not, let me know what I'm still missing, thanks!

@ShadyPuck After more testing; apparently ; this solution isn’t working. In the blend file « Bs_htctv_A001b.blend » ( under « edit 3 » in OP) I used a ColorRamp to make the areas A/B séparation thinner. I could see then that the circle area was not aligned as it was supposed to. It seems it’s aligned with the global origin. Therefore not on the desired vector for both solutions.
I understand a little better than before (It’s gods magic !) those nodes but it’s still is a mystery to me. Maybe I didn’t implemented it as it should be. I’ll edit the OP when you confirm this (or not of course).

@4E71-NOP Tried to clarify -- looks like the issue was your choice of local as opposed to global coordinates for your mesh vector. See my edit.

Using constraints

The node setting is the following:

It uses two textures coordinates with 'object' output.
One is for the purple arrow.
One is for an empty which copies the camera location (just a parenting at its origin).
From that we make the difference for their X and Y coordinates and check if they are both under a given value.
The trick is the empty also copies the purple arrow rotations:

What is that for?
If the empty copies the orientation of the arrow, they will have the same coordinate space alignment in X, Y (and Z) in the texture coordinates. So that they are comparable.
But as the empty is stuck to the camera, their positions will vary and so we can see if they are matching or not from the texturing point of view.
The value node which gives the limit is a bit a magic number... no explanation about it. You can change it a bit, but I don't know why 1 works well.

Edit:
If you don't want the material to change when the camera is aligned to the purple arrow but behind it, just add these nodes testing the sign of the Z difference:

Edit2:
Few words about what have called magic number above.
Of course this value should be relative to Dx/Z and Dy/Z (so that you'll have the sinus of an angle) but that depends on what you want to do with it (be less accurate if more far from the object or not, for instance).
Also you may want to add a cut off, for instance saying that if Dz is too high, then you stop spotting the mesh.
Edit3:
The above approach is simple but can be enhanced using a second empty at the front of the camera. This empty will be set the same way as the previous one (parented to the camera and constrained rotations).
We now have 3 objects (purple arrow, empty at the back of the camera, empty at the front) so that we can check their alignment (in X and Y).
This additional setting will allow to avoid Suzan to be spotted if we see the scene from another point of view than the camera. If you don't need to render from outside of this camera this is nearly useless though.

Yay! The snappiest solution yet. Of course.. object-spaces can tell you everything you need to know, and many variations possible.

@RobinBetts, well snappiest no! Took me days to find it ; )

A method using drivers .. a bit tedious, maybe it can be improved?
Create a driver function that can extract the orientation of an object into Custom Properties, and add it to the driver namespace, by running this script:
import bpy

def z_dir(self,axis):
    return (self.matrix_world [axis][2])

bpy.app.driver_namespace["z_dir"] = z_dir

Create Custom Properties on the object to be shaded, which will contain the world X, Y, and Z components of the object's local positive Z axis, (set the 'axis' parameter to 0,1 and 2 for the X,Y and Z components):

Take care to edit the Custom Properties, and ensure their values are permitted to range from -1 to 1.
In the Object's material, add a 'Combine XYZ' node, whose values are driven by the Custom Properties of the object:

Add two more 'Combine XYZ' nodes to the node tree, whose values will be driven by the locations of the object and camera:

Now you're kitted up to create a tree like this:

Before the color ramp, the tree returns a value between 0 and 1, dependent on the angle between the (Object to Camera vector), and the (Object's own local Z vector). It's 1 when the camera is looking straight down the object's Z, 0 when the camera is looking straight up it:

You could use the 0-1 value to as the factor in a mix between materials.

The main problem with this is that it's hard to transfer the material between objects. Perhaps a bit more use of self in drivers would help.. exposing the object's location through more of its own driven custom  properties? All suggestions welcome.

As I'm new to drivers and I need a little time to analyze your answer. Great job non the less. In the mean time I see that the material is apparently changing on the whole object while the Shady Puck solution shows an edge if you use a ColorRamp to make a thin B&W limit (see blend file). In other words: Your solution seems a bit more precise but more technical as mentioned in comment #1. So it seems you got it for Step One too. Now the funny part : the purple vector.

@4E71-NOP    Unless I've misunderstood you, the purple vector is already accounted for?  the 0-1 value is determined by the angle between the view and the object's local Z.. whether the camera moves, or the object rotates. it could be tweaked to use another local reference vector, if that's what you need. I'm sorry it's such a fiddly business.

Cool. Nodes aint my thing. Simple things like switches. Could you use a rotational difference driver (suzanne and camera)  variable here 1 if var else 0  or some tolerance, to switch the material?

@batFINGER ahhhh... are you right? (You usually are..) I'll check it...

@batFINGER I would love to do it your way, it would be very clean, But the builtin r_diff gives a minimum angle, and, I suspect, in a 3 point plane normally derived from 2 bones. So I rolled my own, using quaternions, which works fine, but wiring it in is a fiddly as this unless i can somehow pass an object (as opposed to a float attribute) as a parameter to a driver-namespace function? If I use self, I still have to split out X,Y,Z rotations as float Custom Properties on the object? .. Or not? ...

Yeah sorry about that, bit of an unintentional bum steer. Put together a bpy.props answer, using my new favourite propertygroup "hack".   Not sure it answers the question, shows how to set up a getter on a property  and use that as a diver variable target...  If a material is object linked there could be some way to fudge passing self.

Yes the purple is accounted for. I wasn't sure by just reading the solution. Vector nodes aren't my cup of tea. After testing it; your solution is accurate. A little tricky for beginners to implement but it's ok.
Now we have @batFINGER who delivered a piece of code that i must study (I like code). Where would be my gentleman manners otherwise ? I'll put some time in it.
Great job! I was thinking it was a question nobody would care about. A now I have 3 experts on the line up. Niiiiiice.

... and, for me, although the other answers have stuff to offer over a range of problems,  the cleanest solution to your particular  problem so far  is @lemon's.

Make a propertygroup property to drive from
Making a property to calculate the rotation between a custom local vector on object A, and one on object B.

Using a property getter on a propertygroup property, to feed a driver variable.
For want of a better name set up an Xxxx propertygroup that will be an object property.  The group will contain an object pointer target to the object to match rotation.  the vector up is the local direction to match to.  With subtype DIRECTION get the novel layout
In the image above, up is displayed via single axis empties.

Two cones named Cube and Cone
Cone is made the target for Cube, their normals match so Cube turns blue.
With Cube made the target for Cone, the driver will update. Will update on animation without, and other property changes, just not rotating or changing 'up' of target

Property Group Code.
import bpy
from bpy.props import PointerProperty, FloatVectorProperty, FloatProperty
from math import pi

class Xxxx(bpy.types.PropertyGroup):
    def rotdif(self):
        if self.target:
            self.target.update_tag(refresh={'OBJECT'})
            up = self.up
            ob = self.id_data
            mw = ob.matrix_world.to_3x3()
            target = self.target
            tmw = target.matrix_world.to_3x3()

            return (mw @ up).angle(
                    tmw @ target.xxxx.up)

        return 2 * pi

    target : PointerProperty(type=bpy.types.Object)
    up : FloatVectorProperty(
            subtype='DIRECTION',
            default=(0, 0, 1),
            )
    angle : FloatProperty(
            get=rotdif,
            unit='ROTATION')

    def draw(self, layout):

        layout.label(text="xxx")
        layout.prop(self, "target")
        layout.prop(self, "up")
        layout.label(text=f"{tuple(round(v, 3) for v in self.up)}")
        '''
        for i in range(3):
            layout.prop(self, "up", index=i)
        '''
        layout.prop(self, "angle")

def draw(self, context):
    ob = context.object
    ob.xxxx.draw(self.layout)

bpy.utils.register_class(Xxxx)
bpy.types.Object.xxxx = PointerProperty(type=Xxxx)
#bpy.types.TEXT_HT_footer.prepend(draw)
bpy.types.VIEW3D_PT_view3d_cursor.prepend(draw)

Once you run that code, go to the 3D cursor panel, and change settings.
By pointing the other object back, it refreshes the display when rotating either object or target.
With the simplest of material setups red and blue, and a value node being driven by

a driver variable named angle a single property of the cube object with datapath xxxx.angle
The expression
1 if angle > radians(5) else 0

drives a switch that is 1 when the "up" vectors match within 5 (arbitrary) degrees

Wow. An education, as usual ;)

@batFINGER I updated the OP in Edit ‘Going further with batFINGER’


text:
Baking produces black image
I'm trying to combine 3 textures into 1 using baking for external use in Roblox. They don't support a meshes multiple textures. This wouldn't be an issue in most cases except the egg shaped body which has a texture for the eyes/head and one for the face. Therefor I have to combine the textures within blender. I've followed this guy's video because nothing else comes close to combining 3 textures onto one file. The only weird thing happening was after deleting the bones was Shadow Teddie becoming super massive, but that wasn't an issue because I'll probably be resizing him within Roblox Studio once all the textures are on 1 file. After following the rest of the tutorial I hit bake, and Shadow Teddie turns black instead of what should be the textures appearing. I have to then go back to Texture Paint and replace them back to looking like the normal Shadow Teddie.  When baking I got an error about a Circular dependency for image "dark_kuma_hand_t01.png" from object "EM105_6" in the bottom right corner.

You included a link to tutorial which you were following however you didn't mention anything about what are you after. There are a lot more important details and things that could go wrong except for wrong bake type. Usually black baking means no data baker can access. E.g. you are baking from black image if it's connected to Output node, or you chose Emit pass instead of Diffuse or you bake to wrong UV map.. Possibilities are endless. Edit your question please with screenshots and a link to your file, use https://blend-exchange.giantcowfilms.com/

When you have several textures and you want to turn them into one you bake diffuse or emit (as you wish) pass, see Bake Taxtures to one Image.
What is wrong and why the warning
The catch that you likely face due to the warning you mention is that if an object has multiple materials baking is happening for all those materials. Thus it takes any selected Image Texture node in every material and tries to bake to it.
There are 2 Image Texture nodes in materials dark_kuma_hand_t01.003 and dark_kuma_face_t01.002, one connected to the shader and used as a source, another one disconnected from everything which is correct.
However there is only one Image Texture node used as color source  in materials dark_kuma_body_t01, dark_kuma_face_t01.003 and dark_kuma_face_t01.004.
This means that once baking is started it will get to materials mentioned in the last paragraph and bake to the image texture used as a source since it can't find anything else there to bake to. Hence color information source for first 2 materials gets overwritten and it also starts providing that black color which is baked above when Clear option is enabled.
This is why the warning Circular dependency for image for material X in object Y is important to notice; it allows to prevent image from being overwritten and saved since you can reload image from disk if it wasn't saved after baking.
The warning isn't always meaning you have wrong node setup; e.g if you bake normal map from highpoly to lowpoly and connected normal map Image Texture node to the tree you will receive this warning as well however it won't mean anything in that case. Still it's better to check your node setup when baking anyway.
How to bake correctly
There are generally 3 ways.
Either copy paste image you're baking to to each material for the object and make sure it is selected for each material for the object, then bake.
Another way is to duplicate the object, remove all materials but those you want to bake and bake from that object to that object (Selected to Active unchecked).
Third way is to create 2 copies of the original object, remove all materials but those you want to bake from the copy you bake from, then remove all materials but one from the object you bake to.


text:
Hair points in wrong direction when edited and rendered
I have modeled a hedgehog (with placeholder limbs, don't judge!). It has spikes as coming out of its back. When I render with the hair in its default placement things look fine.

But if I make even a tiny edit using Particle Edit mode the hair seems to come out of the backface. I've checked the normals and they seem to be correct. If I delete the edit, it goes back to rendering correctly.
It's the same bug in both Cycles and EEVEE.

Edit to add settings. Animation and custom properties sections are empty.

Show more of your particle settings. This could be a few different things.

I've added a screenshot

The problem seems to be that I had a mirror modifier and that the hair was using the modifier stack. Applying the mirror modifier seems to have fixed it.


text:
Why does the parent go haywire, when the child's rigid body physics is set to "animated"?
Backstory:
Hey, I simulated a rollover-crash using rigid body physics. To top it all off, I wanted to smash one of the windows after the crash, using the fracture modifier.
All objects of the car including the window, are children of the main-parent.
I've set the street, and the ramp to passive. And the main-parent of the car to active.
The crash consists out of two parts: The animated part, and the simulated part. The crash goes from animated to simulated by animating the checkbox "animated" in the rigid-body-settings to unchecked.
My problem:
When I executed the fracture on the window, It would start falling apart right at frame one. Since I wanted it to happen after the crash, I decided it shall go from animated to simulated much later than the main-parent. But once the main-parent goes into the simulated part, while the window is still in the animated, the car goes crazy. Like a glitch, or an extreme epileptic seizure.
I have no idea why it does that. When the window goes into the animated-part at the same time, or even before the main-parent, it's completly fine. I'm out of ideas, of why that happens.
I'm pretty sure it has something to do with the fracture modifer, but there aren't many settings I changed. I've set the shard count to 100, executed the fracture, and animated the checkbbox. That's it.

I still don't know why it does that, but I have found a way to perfectly avoid this bug.
Suprisingly, is has nothing to do with the fracture modifier, or the child, but instead with the rigid body simulation.
In order to avoid this bug, 2 small steps are required:
1) After simulating the rigid-body-physics, the simulation must be baked.
The settings for that are not in the "Physics" tab, but in the "Scene" tab.
2) After baking, the simulation must be "baked to keyframes"
The settings for that aren't in the "physics" tab nor in the "scene" tab, but in a place entirely else. Both tabs are in the Editor-type "Properties".
But all the way on the other side in the so called "3D View Tools pane", in the "Physics tab" are the settings needed.

After these 2 steps are done, the rigid body settings in the "physics" tab can be closed, because the simulation is now an animation. The fracture modifier and the rigid-body phsyics on all children now work the way they schould.


text:
How do you bake materials?
Okay, I'm trying to bake the coloured materials I've added to my model. But whenever I go to the Render tab > Bake > and select any of the options, I get an error at the top saying 'No active UV layer found in the object'. Well... Of course not. I've added materials, not textures. I've not had to do any UV unwrapping. What am I missing? What do I need to do to bake coloured materials?
Thanks

I've done a quick UV unwrap by selecting Project From View. I've created a new UV layout, but now when I go to bake, it says that no active image could be found in one of the materials. Well, duh... None of them have images; they're coloured materials.

I've ticked Selected to Active but it comes up with an error saying 'No selected valid objects'

If you want to add information to your question, please do so by editing it (edit link is right below it) and don't scatter them throughout the comments.

Doing that doesn't take the thread to the top of the page though, so people may not see it.

Okay, I have one more material colour I need to bake, which is a Glossy and Diffuse combined. It's supposed to be a shiny blue, but no matter what bake settings I adjust, the result doesn't look right. How should I set it up correctly?

I'm still having problems with this. I've made an image for each colour, but I can't get them applied when in Unity. I've tried making a UV image for the whole gun, but each part has its own material, so I can't really combine them.


text:
How to show and hide an object for different animations
Is it possible to show and hide an object on different animation strips? I have an Attack strip for my character where he's holding a gun. However, I don't want this object to show in his idle, jump and walk animations. I've tried keyframing the Restrict Viewport Visibility for the gun object, but I can't get this method to work throughout the different strips; only the one. I saw a video where you can keyframe the layers, but when I tried it, it didn't work. It says the layers property can't be animated. :-\

As you can see, the Attack Action has the character with his gun, but in the Idle Action, he's holding it as well. How could I remove it from the other animation strips? I did try just having a separate save with only the Attack animation, but that's a problem and not very practical when importing into Unity. Because otherwise I'll have one model with the other three animations, and one with just the one. It's a bit of a pain having to switch between two models.

Can anyone help? Is it possible?

What about Keyframing the material for the Gun so it can be Transparent?

Could try that. I guess that would need to be keyframed via the Node Editor? Apart from that, is there no other way? Thanks.

Not done character animation, but in other Blender animations I keyframe objects out of view via a Location keyframe, making the translation so quick it takes only a single frame.

I don’t think that will work for me though as I import my character and animations into Unity, so I think it’ll still show. This is where I wish I could still keyframe selected/unselected layers.

Also, if I make the material Transparent, that's only going to work in rendered mode, right? In Object Mode, and when I import everything into Unity, it's still going to show?

@DustyShinigami I've used rob 's method frequently in another animator and of course Blender and it works fine.  If the weapon is parented to the hand or whatever, you'd have to keep it miles away and out of sight. It's relative position to the hand can always be re-keyframed if it can be seen later along the timeline.  It's a workaround obviously but as you're getting a little desperate...

I'm afraid for my purposes, it's not going to work. :( I have 4 animations, and I'd have to set the LocRotScale for the gun on the Action strip to set its place, but that means if I move it out the way in the other strips and set the LocRotScale, it'll be in that position when I go back to the Action strip.

I refrained from suggesting this last time as it can get messy, but what if you did the swaps with the character instead?  Hang the expense and have two!  One with the gun and one without?  You keep one out of sight and swap them location-wise?  The swap is done in Untity of course so I would have thought you wouldn't have to worry about scale etc,once both are in Unity?  Just move the one you don't want out of sight until it's required.  - another thought - scale the gun down (in Unity) to almost zero so it can't be seen  and bring it back up to size when it's needed with a keyframe?

Turns out there's a much simpler solution within Unity that I discovered. The gun object could be imported as its own object, parented to the character's rig in the hierarchy, accessed with the Attack animation in the Animator tab, and then you can select the object's properties including an option to enable/disable whether it can be seen. This way, it can be disabled within the other animations. :)


text:
Animation - game object not staying in place
I'm trying to animate a simple attack animation for my 3D character, but I can't seem to get the weapon to stay where I put it. I've tried saving the location, rotation and scale using Ctrl + A, keying the frame, moving the arm back for the recoil, saving the keyframes, moving the weapon back with it, applying the rotation, location and scale, and adding the keyframe. However, the weapon just goes back to the centre of the grid, looking like the chaeacter is standing on it.
What am I doing wrong here? How can I sort this out?

Thanks

you've given your object an animation, so it obeys. In the Dopesheet press the Only Include Channels button (arrow), select the weapon, remove the attached action you see with the X button.

I only see LocRotScale at the bottom, but it only has 1 keyframe. If I add another one, it messes up the character or the placement of the character or weapon. I've selected Only Include Channels.

LocRotScale means you have created an animation that also influence the LocRotScale of the object, so if you give this animation to either a cube or an armature it will influence their LocRotScale, so select the weapon and close the animation with X

you must have created this animation for your armature and given it to the weapon by mistake. What do you want to do with this weapon exactly? If you want it to follow the hand, you should parent it to the hand bone, something like that...

I take it you mean the animation in the NLA...? There's nothing in the Dopesheet from what I can see.

no, select the weapon and in the Dopesheet you can see that there's an animation associated with the weapon called "Action". If you don't want this animation to be associated to the weapon (which seems logic as it looks like it was an animation made for an armature) press the X button on the right of the name, now your weapon doesn't have anymore animation, is it not what you want?

Oh. The Action one is supposed to be for the character's entire action animation. So the character's movement and the weapon's movement.

I think I've got it though. I've made the character's animation/movement separate under Erif_Rig and the gun's movement under Ice Gun.

I'm not sure it's the best way to organize your animation, what is your weapon supposed to do right now? If you give it an action that asks it to stay put (like the action called Action) it will stay put.

Hmm. At the moment, I'm just doing a recoil animation as though the weapon has been fired. I'm guessing, but correct me if I'm wrong, I need to create and animate a projectile/bullet as its own object so it can be used to hit enemies. To be honest, I don't know why it's called Action as it's supposed to be called 'Attack'. The whole thing is supposed to be the character's attack animation - movement and weapon movement combined.

generally a weapon is supposed to follow the hand movement, so why don't you make it child of the hand bone for example? If you want a bullet, it's another object, it can even be a child of the gun if you want it to follow as well... but to give your gun the same action as your armature is strange...

Believe me, that was unintentional lol.

Okay, I think this time, I've got it. I've parented the gun to the hand bone. Although, it annoys me that the newly created Action I make, such as Attack in this case, keeps being de-selected and potentially messes things up. I think that's how some animations are ending up on other strips or are cropping up in places I don't want. :-\

Another thing though: what would be the best thing to do to get rid of the gun from appearing in my other animations/strips now that it's parented?

some actions keep de-selected? not sure to understand. And what do you mean "get rid of the gun"? Just create your action for your armature, the gun will follow as it is now parented, if you want to create animation for the gun (like for example a bullet which is parented to the gun that is projected), create it, just don't give your gun some actions you've created for your armature and vice-versa  ;)

In the Dopesheet. At the moment it's on my Attack Action. But the amount of times I go back to the Dopesheet and then find it's gone back to Idle or Walk or something. No idea why that's happened or what I've done.
With getting rid of the gun - I don't want it in the character's hand or in the scene during the idle, walk and jump animations.
If I have the bullet a child of the gun object, how would I be able to get that to hit an enemy? Surely if it was it's own object, I'd be able to attach a script to it?

yes at the beginning it's a bit hard to understand the logic between the actions, the dopesheet and NLA, etc... About your bullet, make it a child of your gun, which is a child of the hand. So when he shoots you just need to activate an action (in the NLA) that propels the bullet out of the gun, not so complicated

I also find that one minute an animation works and then the next, it doesn't. Selecting an Action - Idle, Walk etc. - doesn't do anything, or play the corredsponding animation. Or I click on the star to isolate an animation and it doesn't play.

In the Dopesheet press the Only Include Channels button (arrow icon, allows to only see the keyframes of the selected object), select the weapon, you'll see if your object has an action assigned. You've given your gun an action called "Action", this action has bones keyframes, so I guess it is supposed to be used by your armature, not your gun. And this action also has LocRotScale keyframes, your gun will be affected by those LocRotScale. It makes no sense to use such an action, don't give any action to your gun (except for example propelling a bullet), your gun should rather follow the hand of your armature. So in the Dopesheet remove the action with the X button on the right of its name (Unlink this Action). Now your gun is free from any action. Now parent it to the hand bone, so that it will be moved by the hand, it's much more logical.

I'm afraid I'm not seeing that option. I go to the Dopesheet, select the weapon object, but no object shows. If I select the hand holding the gun, the only options I see are the quaternion rotations and scales etc.

what option can't you see? no object show: what are you talking about? please follow exactly what I say, if you enable the Only Include Channel option in the Dopesheet and select an object you'll see if there is an action that has been assigned to it, if I open your file I can see that the action called Action has been assigned to your gun, which makes no sense, as I suppose Action is supposed to be assigned to your armature. You need to understand that you can create an animation for an object and assign it to any other object in your scene.

Of course your gun doesn't have any bone so it won't take account of the bone keyframes but Action also have LocRotScale keyframes, so your gun is affected by those...

I'll upload the latest save file I have.

Yep, I clicked on Only Include Channel, but I don't see any difference. I'll upload a screenshot.

the difference with this option is that you won't see all the keyframes of all the objects in the Dopesheet, you'll only see the ones of the object(s) or bone(s) selected, that's all   ;)

I've opened your new file, selected your gun... have you a reason to assign it the animation called Attack? I'm not sure to understand...

Yeah. It’s supposed to be a part of my attack animation. How would you set it up?

why do you want to assign an animation to your gun, other than for example the bullet propelling? Your attack animation is supposed to animate your armature, not the gun, the gun will be animated by the hand of the armature, don't give any action to the gun, I thought you understood y explanation

So did I... I mean, I parented the gun to the hand's armature... I thought the whole animation was assigned to the armature...

the action of an object can be assigned to any other object of your scene, here for example you've assigned the action called Attack to your gun, why that? Enable the arrow option, select the gun, remove the action Attack. Anyway I guess it is not playing anymore because you've parented the gun to the hand, but there was no reason to give your gun this Attack action

Right. I believe I understand now. That'll be why whenever I've selected an Action from the list, it hasn't always worked. It's because I will have selected the model without thinking/realising instead of the armature, and therefore it hasn't worked. That'll be why the Action has been getting assigned to the gun itself.

Only thing I haven't got yet, and is the last thing I need to do, is remove the gun from the model in the idle, walk and jump animations.

I should probably start a new thread, but I probably wouldn't get a reply. :-
How exactly can I keyframe the projectile's movement from the gun without the Attack Action being applied to it. It needs to be a part of the Attack Action, but if I have that Action open and select the projectile to animate it, it's going to apply that Action to it.

create an action for the bullet itself and use the NLA to start it whenever you want

Okay, thanks. Two final things: I would like to add some particles as the projectile fires, but would I be better using an image for that? Also, what would be the best light for a muzzle flash? I have got a Hemi...
Thanks again

You should open a new topic for this question, and don't forget to show some pictures of what you want


text:
Where has my Mark Edge Seam button gone?
I'm using blender 2.79 and have not modified any of its code, but for some reason I have to use the space bar and search for "Mark Seam" in order to use this function. I should not that I don't see it in blender 2.8 either. Am I missing something? I thought it was always under the Edge's Menu!
Menu: Mesh ‣ Edges ‣ Mark Seam/Clear Seam is gone!
Has anyone had this problem, or know how to fix it?

In my build, it's in a sub-menu: Edge Menu > Edge Data You're right.. I think that's a recent change..

@Robin Betts You are right! Thank you for showing me da way! I get it now.

In Edit mode Press ctrl+E there you can find it

It's also available in the U (unwrap) menu at the bottom, below the unwrap methods. However "Clear Seam" seems to be missing from the 2.8 search system at the moment.

I'm not sure if I'm doing this right. But as @Robin Betts pointed out. The Mark Seams function has moved to the Edge Data Sub-menu.
Thank you @Robin Betts !


text:
Blender 2.8 wm.py Error line 524 and lin3 83 and more i didn't understan
Please can someone help me white is error i tried everything i could but i can't fixed and even bought python runner, delete Blender "2.80" several time and download it didn't work! "macOS"
https://photos.app.goo.gl/kZVzgEtxKwd4JoFi9

Have you installed any add-ons before this error appeared? Can you try to do a factory reset (Edit > Preferences, click the button in the bottom left corner Load Factory Preferences and the save the preferences)

The error is displayed when I click the left mouse button in the blender window
it has nothing to do with addon " I mean all addon is working"

Did you try the factory reset?

you might want to check out this question:  https://blender.stackexchange.com/questions/148163/on-the-verge-of-quitting-blender


text:
Hair doesn't render in viewport with eevee
I added hair particles to an object and set the view to rendered in the viewport. With Cycles the hair is rendered correctly, but with Eevee only black lines are displayed. The rest of the scene is rendered correctly with both engines.

Are you using the Principled Hair BSDF?

No, I'm using particles. There is no shader being used to generate the hair (at least none that is shown in the node editor).

I meant the shader you're using for the hair's material.

There is no material for the hair.

ok, I was just making sure you weren't using the new hair shader because it only works in cycles and would thus make your hair particles black, but I see you found the answer earlier. :)

The problem with the black lines was caused by an old graphics driver.
But the hair was still just displayed as colored lines after that.
This however was due to the render setting "Hair Shape Type" which was set to "Strand". Setting it to "Strip" as shown in the image below fixes that.


text:
My textures are rendering transparent and strange
I am trying to make this cool minecraft effect on blender. I've done all the modeling and tracking. In rendered view it looks fine.

But it comes out very weird. I am using blender 2.8 for this project. It has nothing to do with the materials, because I changed them around and tested it out. I have a feeling it has something to do with either the movie clip editor, sequence editor, or the render settings.
I've been trying over and over to fix it. While it renders it looks fine, but as soon as it finishes, it comes out with nothing but rendered shadows, but I have not enabled shadow catcher. I have done research and I don't think it is a common problem. If you can help me, please do.

This was the default setup of the compositing nodes.

Please add a screenshot of your compositing nodes.

Something must be messed up in your compositor

if all else fails, create a new file and append each component from the old one, one at a time.

Eevee or Cycles?

I deleted all of the nodes, and simplified it. Use Alpha over instead of Add.


text:
Fire simulation not working in eevee 2.81
I'm trying to make a fire simulation for an animation I'm making, but when I bake the simulation I get a strange result.

It works completely fine in cycles,but I want to use eevee because it's a lot faster to render.

There is no volumetric checkbox in blender 2.81, so I can't use that to fix my problems. I've been playing around with the settings of the simulation, but it ends the same. If anyone can help me, I'd appreciate it.
Here is my node setup (just in case).

Here is my Smoke Domain Settings

Perhaps this is a bug with respect to the Adaptive Domain settings – have you tried disabling Adaptive Domain (assuming you have it enabled)?

I disabled Adaptive Domain, but it still doesn't work.

The issue I was running into was that I needed to use a heat attribute node. Once I added that with the flame attribute, it worked. (I also didn't separate the nodes anymore)

Thank you everyone who helped.


text:
Python Error on FBX Import
so I'm making a plane for Roblox (I know stupid right) But I keep getting this line of errors:
Python: Traceback (most recent call last):
  File "C:\Program Files\Blender Foundation\Blender 2.91\2.91\scripts\addons\io_scene_fbx\__init__.py", line 636, in execute
    return export_fbx_bin.save(self, context, **keywords)
  File "C:\Program Files\Blender Foundation\Blender 2.91\2.91\scripts\addons\io_scene_fbx\export_fbx_bin.py", line 3198, in save
    ret = save_single(operator, context.scene, depsgraph, filepath, **kwargs_mod)
  File "C:\Program Files\Blender Foundation\Blender 2.91\2.91\scripts\addons\io_scene_fbx\export_fbx_bin.py", line 3094, in save_single
    fbx_objects_elements(root, scene_data)
  File "C:\Program Files\Blender Foundation\Blender 2.91\2.91\scripts\addons\io_scene_fbx\export_fbx_bin.py", line 2894, in fbx_objects_elements
    fbx_data_mesh_elements(objects, me_obj, scene_data, done_meshes)
  File "C:\Program Files\Blender Foundation\Blender 2.91\2.91\scripts\addons\io_scene_fbx\export_fbx_bin.py", line 1174, in fbx_data_mesh_elements
    elem_data_single_int32_array(lay_uv, b"UVIndex", (uv2idx[uv_id] for uv_id in _uvtuples_gen(t_luv, t_lvidx)))
  File "C:\Program Files\Blender Foundation\Blender 2.91\2.91\scripts\addons\io_scene_fbx\fbx_utils.py", line 504, in elem_data_single_int32_array
    return _elem_data_single(elem, name, value, "add_int32_array")
  File "C:\Program Files\Blender Foundation\Blender 2.91\2.91\scripts\addons\io_scene_fbx\fbx_utils.py", line 451, in _elem_data_single
    getattr(sub_elem, func_name)(value)
  File "C:\Program Files\Blender Foundation\Blender 2.91\2.91\scripts\addons\io_scene_fbx\encode_bin.py", line 161, in add_int32_array
    data = array.array(data_types.ARRAY_INT32, data)
  File "C:\Program Files\Blender Foundation\Blender 2.91\2.91\scripts\addons\io_scene_fbx\export_fbx_bin.py", line 1174, in <genexpr>
    elem_data_single_int32_array(lay_uv, b"UVIndex", (uv2idx[uv_id] for uv_id in _uvtuples_gen(t_luv, t_lvidx)))
KeyError: ((nan, nan), 6)

location: <unknown location>:-1

Can someone please help me?

Do you still get the error if you update blender to the 2.93 LTS version? If so, I'd consider reporting it as a bug.

Thanks for the comment, it still gives the same problem. I will report it as a bug.


text:
What is this black streak and how do i resolve this?
A black streak upon rendering in cycles.
Noticed a black streak upon rendering in Cycles. How do I resolve this issue and what caused it?
I am a complete beginner to blender.

Hello could you please show a screenshot?

I'm sorry, but I see no black streak...

https://i.postimg.cc/0yTbKqxx/belnder2.png it can be observed in one of the icing drippings. @GordonBrinkmann

the big "O" shaped black area is a shadow. The small vertical black line is also a shadow - caused by a crease in the topping.

https://i.postimg.cc/0yTbKqxx/belnder2.png the black streak can be observed on the icing drip @moonboots

@MarkusvonBroady oh yeah i was talking about the vertical line which appears like a crack how do avoid that. i tried changing the lightning multiple times.

If you don't want it to appear like a crack, you should reshape the icing so that there is no more crack/crease. And please, don't repeat the same comment over and over again.

It looks like an artifact with flipped normals or some dsiturbances in the mesh. Would need the model to say more.
Even a screenshot of the mesh could help.

A closeup view of the area of interest looks strange.
Recalculate normals didn't help, which would have been my guess.
Maybe the easiest way to go would be to delete a bunch of vertices around that area and rebuild it vertex by vertex.
I.E. connect dots etc.

Thankyou. ill try it out

You have some weird inner topology there causing the black streak. Select the donut dripping mesh, go to edit mode and choose Select > Select All by Trait > Interior Faces. With enabled X-Ray mode you should see something like this:

Hit the Del key and select Faces to delete all this inner stuff and the black streak should be gone.


text:
Remove the windscreen and make a watertight model for 3d printing
I have a STL truck imported, I have removed the side windows by deleting the glass faces and selecting edge loops and bridging. Works fine.
Now I want to remove the windscreen. Is it possible?
Thanks
Side windows removed

After looking at the blend file:
Yes, of course it is possible, it just requires some work and care.
Just some hints on obstacles you may face and how to solve them:
The easiest are the large triangles in the front window - you can select them with Box Select, then press xor Delete and select Edges. However, you have to be careful not to delete the edges that merge into the chassis. It may even be easier to reconnect lost edges by hand affterwards. With the further edges it becomes increasingly more difficult: You may occasionally have to consider whether it is enough to delete edges, or whether you will then be left with flushed out points. In this case, the points are to be deleted first.
Always remember: undo is your friend.
At some point it may be difficult to select an edge without selecting things in the background - then it may be easier to move inside the truck and select those elements from the view outside, while not selecting elements in the background.
Now the really serious problems reveal themselves:
There is this big gap opening between inside and outside of the cabin.

To close that gap I would:

(green) connect and fill the triangular shapes that occured by deleting the window
(red) remove some more of the long recengles inside the car , then subdivide the last line to something like the number of the triangles
3 (blue) then connect and fill these shapesall around the window. You will need at some points to create some new intersections.

the other serious problem of the model is that the cabins ceiling is way too low for the window. Inside and outside don't match at all.

To solve that, i would select the ceilings part as shown in the screenshot, press g (for go or move), then zfor the z direction and carefully move the cabins ceiling upwards. Maybe scale the curving of the ceiling down a little bit - hit s (scale) z(for z-direction again), then 0.4 to scale by a factor of 0.4.
have a look from above so that the inner ceiling does not move through the outer ceiling.
Again, stitch the inside and outside of the cabin together.
So you have to approach slowly, but with some patience it should work in reasonable time, and still much faster than remodeling ...
( I did parts of this process to illustrate what to do, but it's unfinished, and as you also did parts of the process already, i don't think it will be too helpful to upload my file - and you will learn more by doing it yourself)

Thanks, my problem is there is the windscreen mesh and inside looking out the is another mesh. If I remove both meshes I am left with a void. How is this bridged to make it watertight?

Okay -after another look i can see that.
There are some serious problems with that model - the insie and the outside seem to be not really consistent with the concept of the windscreen being a windscreen.
I'll do two screenshots and some sugestions.

Thank you very much for your help. I will try your method and if it gets to messy I might just make a windscreen size/shape and use the Boolean tool.


text:
How to apply a material to a noise zone?
Hello Blender Stack Exchange people :)
I'm a huge beginner in Blender so excuse my question if it's dumb ^^
I've got this going right now :

This might seem a little dumb, but I'm struggling to change the color of the lens ONLY on the spots covered by frost marks... Please help ? ^^'
Thanks in advance :)
EDIT : This question has been answered, but here's the .blend file with the old and the new (wanted) material :p
Blend file (forgive the name, I didn't have any idea of what I was going for when I started ^^')

Have you tried changing the color in the glass shader? if the frost marks you're talking about are the white parts in the lens I think it might be that color value you need to change.

Doesn't work, I tried it before. It changes both the colors :c I want the lens to stay the same "white" color while the marks are a little blue-ish.

Ok, can you attach the .blend file here? So that i can take a look at it.

Even though the question has been answered I'll attach it in about 3h30min when I get home, sorry for answering this slow ^^'

Here are two ways of doing this, both are using Color Ramp with Constant value, and both can be changed to something else and with white value (from Color Ramp) you can control how much colour will affect area.
Mask between two shaders:
This is best option if you want to have not only different colours, but also different shaders assigned to "frosted" area.

Different colours for one shader:
This is best suited if you want only to change colours.

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


text:
Triggering the Eyedropper from a certain color property in UI directly or via code?
Im trying to trigger this eyedropper for this color property (the vertex color in Paint mode in Grease pencil):

The eyedropper is triggered when pressing E but only when the mouse is hovering the property.
I was wondering if I can trigger that eyedropper directly, without having to hover it.
If Im not wrong, the operator that is being called when pressing E is ui.eyedropper_color.
I tried to directly call bpy.ops.ui.eyedropper_color() but -as Im not surprised- didn't work.
Any clue? Is it doable?
Thank you so much for any help!

I don't know how to trigger the eyedropper programmatically, but:
The idea behind triggering the eyedropper with E while hovering over the property is rather a byproduct of its real use: While hovering over the palettes in the Tools-Property panel, which makes much more sense.
So, open the properties Panel / Tools as shown in the image, hover over your desired color in the Coler picker or the Palette, press E and select your color.

There are waaay too much functions in Blender to match the keyboard, and E is used in other contexts for different purposes (Extrude), so having keystrokes being limited to certain UI-Areas is one way to accomplish having more functions available as Keystroke-commands.

Thank you so much for the help friend! Indeed, is a good decission for having more functions in the same key. That eyedropper seems to me like some kind of intermediate/wrapper process for then triggering a color picker to a certain property (I was hoping we were able to kinda bypass that first 'step' but I think is not possible, I cant find anything in the API).
Thanks again :)


text:
python code for Ctrl +Z
I have a small problem. I couldn't find anything even close to it in the blender stack exchange website.
I have a python code for duplicating the selected mesh as many times as specified by the user in a slider.
Now, if the user decreases the amount of steps in the slider, and tries to "Regenerate" (my button for duplicating), I want the extra meshes to delete themselves. I find no way of doing so. I tried finding the command for Ctrl+Z in the internet, but apparently, there is no such thing.
Is there any way to do this? If not, can anyone suggest an alternative?
This is my code currently:
scene = context.scene
myprops = context.scene.my_props

loc_x = myprops.x_location
loc_y = myprops.y_location
loc_z = myprops.z_location
steps = myprops.steps_counter
steps_done = 0

while steps_done<steps:
    obj = bpy.context.active_object
    bpy.ops.object.duplicate_move(OBJECT_OT_duplicate={"linked":False, "mode":'TRANSLATION'}, TRANSFORM_OT_translate={"value":(loc_x, loc_y, loc_z), "orient_axis_ortho":'X', "orient_type":'GLOBAL', "orient_matrix":((1, 0, 0), (0, 1, 0), (0, 0, 1)), "orient_matrix_type":'GLOBAL', "constraint_axis":(False, False, False), "mirror":False, "use_proportional_edit":False, "proportional_edit_falloff":'SMOOTH', "proportional_size":1, "use_proportional_connected":False, "use_proportional_projected":False, "snap":False, "snap_elements":{'INCREMENT'}, "use_snap_project":False, "snap_target":'CLOSEST', "use_snap_self":True, "use_snap_edit":True, "use_snap_nonedit":True, "use_snap_selectable_only":False, "use_snap_to_same_target":False, "snap_face_nearest_steps":1, "snap_point":(0, 0, 0), "snap_align":False, "snap_normal":(0, 0, 0), "gpencil_strokes":False, "cursor_transform":False, "texture_space":False, "remove_on_cancel":False, "view2d_edge_pan":False, "release_confirm":False, "use_accurate":False, "use_automerge_and_split":False})
    steps_done = steps_done + 1

I pass this code through an operator and link that operator to a button which does it for me.

Does this help? https://blender.stackexchange.com/questions/268787/how-does-the-undo-operation-work (I don't know python myself.)

instead of looking for ctrl + z you should have looked for ùndo, which is the funktion assoziated with ctrl + z

I would suggest to use Blenders bpy.ops.object.delete() method to delete the extra meshes. You can add this line of code before your while loop:
bpy.ops.object.select_all(action='DESELECT')

And then add this line of code inside your while loop:
if steps_done >= steps:
    bpy.ops.object.select_all(action='SELECT')
    bpy.ops.object.delete()

This should deselect all objects before the loop starts and then select all objects after the loop ends and delete them.
Haven't tried it, but this should at least point in the right direction.


text:
Geometry nodes: Compare point values at specific location
i have this node setup where i want to compare a specific value for points which share the same position.
Then, i want to delete all the points except the one with the highest value.
To be specific, i have these curves generated with the shortest edge path nodes. When turning these into solid meshes, the result includes a ton of geometry that is not needed. This is especially bad when generating optimized game assets:

So my idea is, on the curves i want to compare all the points which share the same location and then i want to delete the points except the ones sitting on the curve with the longest spline length.
It is hard to describe, but with this method, i want to avoid doubled geometry created by the shortest edge nodes. Simply merging the points would result in randomly merged curves, which creates problems when trying to solidify with the curves to mesh node:

i hope that, with my idea, i can get a nicely sorted hierarchy of curves which are not overlapping.
So, is this even possible or are there any other solutions to my problem?
Thank you in advance!
Edit:
screenshot of my attempt of deleting doubled geometry:

blendfile:

Could you please supplement the post with screenshots of the node tree and/or share your blend file? The way the question is currently worded, it leaves too much room for speculation and is difficult to answer. Thank you!

Thanks for answering. I added an additional screenshot and a link to my blend-file.

Not that anybody cares, but i found a solution (sort of)!
My solution is not ideal, but it works for me. I just added more iterations of my method of transfering the captured spline length and compare it for each edge. In my case i used around 10 iterations, but it depends on how many overlapping points exist.

Now i have somewhat clean topology with no exessive geometry.


text:
Can you fuse a low poly mesh and a normal map to make a high poly mesh?
Basically I have the low poly mesh and the normal map, but lost the high poly mesh.
So I wanted to know if there is a way of getting the high poly mesh by fusing the two things I have.
Edit: I also have the diffuse, metalness, roughness, tintmask, emissive map.

A normal map only stores the orientation of points on the surface unlike a displacement map which stores an offset. I'm not aware of any approach that would give you accurate results using just the normal map.


text:
What is wrong with my script?
I was searching for a way to make a script that will help me increase my work speed, in other words, I tried to make a script that duplicates an object, then set it a texture each time and then loops, but when I run the script, it makes 1 dupe and doesn't change the texture.
additionally: when the script runs without the changing texture part, it works as intended:
import bpy
num = 0
num2 = -4
for i in range (0,10):
    bpy.ops.object.duplicate(linked=0,mode='TRANSLATION')
    obj = bpy.context.view_layer.objects.active
    obj.location.y = obj.location.y + 10.24
    num = num + 4
    num2 = num2 + 4
    bpy.data.images['Texture.4.-12.'+str(num2)+'.DDS'].filepath = 'Texture.4.-12.'+str(num)+'.DDS'

from the answer that i've got, i've advanced to this:
import bpy
num = 0
num2 = -4
for i in range (0,10):
    bpy.ops.object.duplicate(linked=0,mode='TRANSLATION')
    obj = bpy.context.view_layer.objects.active
    obj.location.y = obj.location.y + 10.24
    num = num + 4
    num2 = num2 + 4
    prev_image = bpy.data.images.load( "D:\World\Textures\Terrain\Texture.4.-12."+str(num)+".DDS" )
    image = bpy.data.images.load( "D:\World\Textures\Terrain\Texture.4.-12."+str(num2)+".DDS" )
    bpy.data.images[str(prev_image)].filepath = str(image)

If only one duplicate, that mean there is an exception thrown. Should look in the console to check what it says.

hello, thanks for answer, the console outputs this:
bpy.ops.object.duplicate(linked=False, mode='TRANSLATION')
bpy.ops.text.run_script()
Python script failed, check the message in the system console
(it does not select wrong line)

You should have more information in the system console: use the Window menu then "Toggle System Console".

thanks, system console prints this: Traceback (most recent call last):
File "C:\Users\That Pony\Documents\untitled.blend\Text", line 10, in
KeyError: 'bpy_prop_collection[key]: key "D:\World\Textures\Terrain\Texture.4.-12.0.DDS" not found'
Error: Python script failed, check the message in the system console
(if you ask, texture itself does exist)

But the image in Blender memory does not exist, so you cannot access to bpy.data.images["your image"]. You should image = bpy.data.images.load( "your path" ) instead.

is the example added in post right? it still prints me that the image doesn't exist, without str() on last line, gives error that it should be given int or string not Image

So, it looks like you are trying to get the file path of the image stored in Blender memory with bpy.data.images[str(prev_image)].filepath but str(prev_image) is turning the image you saved into a string. It seems like you need to remove the last line and rather do something like obj.texture = image to set the image texture to the image you created, which would be the simplest.
Note that I've barely scripted in Blender, so I don't know the Blender Python properties and such, but I'm familiar with Python and Blender. ie, I might have no clue what I'm talking about, so feel free to correct me.

thanks for answer but obj.texture didn't get me anything, or i guess i didnt use it correctly? i'd like to see example, cuz it looks like i cannot make it myself


text:
Weight paint not assigned to correct mesh on right side, only on left side of the object
I have been stuck with this issue for a while now and cannot seem to find a solution.
I have a model that i am trying to parent with the armature but the end result is completely different from right and left hands regarding weight paint. Any idea what i am doing wrong?

Hello, so you've tried to parent With Automatic Weight and this is the result? Maybe you have no other choice but to correct in Weight Paint mode...

Hi @moonboots, thanks for the feedback. I undertsnd that but i would really like to know why does this behaviour happen? Any idea?

Could you please share your file so that we can give a try? Parenting With Automatic Weights doesn't always give the best result, especially with hands, where faces are pretty  close to each others


text:
Why are my Baked Textures having Bad Results?
I'm baking a normal map and a roughness map to use on my .obj that will be used in a AR application. Both normal and roughness were created procedurally (using noise texture node and bump). When using the this setup of node, everything looks good as you can see in the images bellow (look at the creases):

I've baked in a 2K image and the bakings itselves are looking fine, I'm not sure, as you can see here:

NormalMap

RoughnessMap

But when I use the baked images on the final object that will be exported, it doesn't look like the first model. The normals and the roughness are a bit strange. As you can see here:

What am I doing wrong ? Why does it not work properly ?
I was expecting the final results to be like that, similar to the model before applying the baked textures:

And not like this:

I'm not baking a high poly to a low poly object, I'm just baking to have my informations of normals, roughness and diffuse, as image textures one with my normals and another one with my roughness on it (and the diffuse, but this one is ok).

When creating the images to bake to, did you initialize your normal map with alpha disabled and 32-bit float enabled? That is the only possible solution I can think of after looking at your .blend file. I might just have to pass the problem off to someone more experienced. Also, it would be really helpful to have your procedural nodes in the .blend file. If you could update it to have that, it would be alot easier to work out whats wrong

Actually, when talking about the normal map, I created a file with the alfa on, and the 32-bit float disabled.
Sure! I will do that!

@Gunt.r I've uploaded a new file, with my procedural nodes as well. There are two materials there. One is the material before the baking (procedural one) and the other is the baked one.

Sorry man I literally got no clue. I'm going to have to pass the problem off to the pros. For whoever is going to pick up the problem: I dont think the normals have anything to do with the problem. Also, the texture resolution being too low is not the problem. I have tried rendering bakes at 4k instead of 2k and it didnt work

@Gunt.r What should be the difference when initializing the image with alpha disabled or enabled and with 32-bit float enabled or disabled? Beyond having the transparent background. To me it really didn't make any difference.

to be completely honest man I really don't know. A person who I was watching in a tutorial said alpha had to be disabled and 32 bit float enabled for the bake to work. I'm just doing that because that has been the way i've been taught.

When you make an image texture for roughness and normal you have to switch color space from srgb to non color data before you bake.

in both cases?
Do I have to use them as non color when using the image based texture too ?? I though I could use the roughness as Raw or sRGB.

any texture that does not contribute to the color of the object must be set to non color data roughness, specular, subsurface scattering, normal, transmission and such must be non color data (NCD). Most of those textures named above are black and white but normal map for instance is colored, dont let this confuse you normal still has to be NCD  since it does not contribute to color of the object. So any texture that has to be NCD when it is being used normally must also be set to NCD when you are baking them. also when you bake an image you cant change color space after you must make new image


text:
What is happening to my baking?
I modelled kind of a soft cube, similar to a foam/cubic pillow/"cloth".
The High Poly mesh was done using cloth simulation.

Now I'm trying to bake this mesh to a low poly on. Actually to a basic cube.

But once I bake this (diffuse, combined) the bake has some issues that looks like the normal of some polygons are inverted, but they aren't.

In the bake looks like there is another mesh on top of the original one, in the same object, but it hasn't. You can see some areas with strange tones, that looks like another mesh was on top of the original one in some areas. You can see it specially in the third and fourth big blocks [from left to right] of the image above.
I tried all that I could to flip and correct the outside and inside of the mesh. I also tried exporting as fbx, glb and importing on blender again and baking again. The result is always the same. I also tried using cages.
I also tried sculpting and baking afterwards, but the result was the same!
What can it be? How can I bake this "soft" high poly block to a basic 6 faces polygon (low poly) ?
Here is the .blend file:

Upload it at https://blend-exchange.com and follow instructions there. After uploading you get an html text which you copy completely and paste it into your question.

Can you see the different tones in the blue? And I'm not talking about that really visible issue in the first cube (left to right) in the UV image.
I'm talking about the strange issues that are most visible on the 3rd and 4th (left to right) cubes in the UV maps. Looks like some parts are showing the inside of the mesh or something. The second plane in the UV map is the only one face that baked correct in this baking process. All others have issues.

I'm no expert in baking textures, I never do this except for a few tests. I just wanted to help you upload the file. But now that you ask, doesn't the combined bake also take lighting into account? To me the different colors look like they are just lit differently, as I would expect with one side getting full light and the others less, and the bottom part the least.

Not really, I've seem this kind of issue, when rendering objects and the objects had some parts of the mesh coming inside of others. It is looking the same, but it is not the case.


text:
How to make just one color of my texture bright (like as metallic)?
I am modeling an object that has a label. The label I applied as a texture (a single image), and made an unwrap normally, as follows the render below.

However, I need the yellow part of this texture to have a shine (as metallic), just like the real product (as follows the photos on links below).

http://queensberry.ind.br/wp-content/uploads/2019/12/gourmet-pimenta-suave-_prancheta-1.jpg .
http://queensberry.ind.br/wp-content/uploads/2019/12/gourmet-menta-com-hortela_prancheta-1.jpg .
http://queensberry.ind.br/wp-content/uploads/2019/12/gourmet-pimenta-vermelha_prancheta-1.jpg

How can I make only the yellow parts of my texture (label) emit this glow effect? I am modeling and texturing using Blender 2.81.
Can someone help me with this task please?
I am using only one image to texture the label. Do I need a second image with only the yellow parts to do this?
Thanks in advance!!!

If you're animating the presentation, the best is a metallic shader on that yellow color. But if you will just show a render, the best is to fake that brightness using any photo editing program.

Now I have another problem.
I need to make two yellow parts shine, in different tons.
Like this: http://queensberry.ind.br/wp-content/uploads/2019/12/sfrutas-silvestrres-250x250.jpg
and this http://queensberry.ind.br/wp-content/uploads/2019/12/framboesa-2-250x250.jpg
At the top of the label, there is a yellow one inside the other. And both need to "shine", but one more intensely than the other. How can I do this?

I think it's better you make a new question.

You can use color to determine your mentalist mask:

I use a distance vector math node, which tell blender to find the color in that image, with RGB (1.0, 1.0 ,0.0)(which is yellow).
And then continue with a compare node to see if color is yellow with some ambiguity.
(the second value is compared value, set to 0.0 means same color. the third one is tolerance, change it yourself to see the effect)
Using this mask, you can do a lot of thing with it, you can change the metallic value using this mask and invert it to make it look like mirror in roughness setting.
More complicated setting:

no need of photoshop and other texture, but keep in mind that this will potentially slow down the rendering time. (Although the math here is super simple and modern hardware can handle it like a piece of cake)

this is pretty neat, I should start learning blender shaders. I would probably had to make roughness texture, metalic texture on top of a base color texture, but this is simple and faster.

It worked really well. Great. Thank you very much for your time.
But now I have another problem.
I need to make two yellow parts shine, in different tons.
Like this: http://queensberry.ind.br/wp-content/uploads/2019/12/sfrutas-silvestrres-250x250.jpg
and this http://queensberry.ind.br/wp-content/uploads/2019/12/framboesa-2-250x250.jpg
At the top of the label, there is a yellow one inside the other. And both need to "shine", but one more intensely than the other. How can I do this?

Then you need to mask that thing out again with this process, and assign it a different setting of gold like material values. Maybe a darker yellow color with less roughness on it

I understood that I need to do the same nodes, but using the other yellow tone as my mentalist mask. And configure the new gold (metallic) as I need. But how can I put these two materials together after this?

Use another mix before connect to color socket

If your sticker's border is an image texture then you would have to modify the image in photoshop or something like that. If it is not then you can select the vertices around the border and assign them to a specific material in which case is his metallic one. However if you look at the image the metallic looks fake. As if there is no light shining off of it but the light has been drawn on. So if it is not an image texture use a musgrave texture in the node editor.
Hope this helps!

All you need is to create a mask so that you can create a glossy shader for that part of the label. The label never "emits" light, it reflects it. So what is important is to create bright elements and place them in a way that they can be seen reflected on the object.
I'm sure there are plenty of other posts covering this topic.
Here are a few
How can I get the bottle glossy W/O the label too?
Cycles mixed material
Why does an object with a glossy shader render in black?
How can I render objects with very shiny surfaces?

Why using a Glossy shader when the label is clearly metallic paint?

Use whatever glossy, metallic, shiny, low roughness, or whatever you want to call it.. the mask will determine what part of the material is that reflective...


text:
How to reproduce this kind of bright effect animate on Blender?
I need help to reproduce this kind of bright effect on Blender, but I want to animate it as well, the animation could be it just turning around in circle.
What do I need to search about to recreate this kind of effect ?

Thanks in advance

Depends a little bit on how you want to create it. The "normal" way I'd say is, if you create an animation of emissive particle objects, then in the compositor you can add a Glare node, maybe even combine multiple ones with different settings and mixing them together. The question is, how experienced are you with the compositor, how much advice do you need?

The compositor is really unknown to me.

you'll probably find some ideas here: https://blender.stackexchange.com/questions/199172/create-a-trail-effect-meteor you can do it with a mix of material, particles, and compositing

You can create a comet object that will be made of a ball (the head), a thin tail and a bigger one. Also create a curve, and give your comet object a Curve modifier to make it follow the curve. Create 3 different particles that will be your sparks:

Give your comet and particles this kind of node setup: Emission mixed with Transparent with a Layer Weight as factor, with a gradient on X for the tails, some noise to create texture, push a bit the Emission strength so that it can bloom:

Give your object a Particle System > Emitter in order to create the sparks. In the Compositor give your image a Blur and a Glare node to create the image effects:

I've follow your steps, but mine doesn't look quite like yours.
How can I show a result in here ?

please share your file (copy and paste here the url it will give you once you've uploaded the file): https://pasteall.org/blend/

Here is https://blend-exchange.com/b/zBGQMb43/

it seems to work, you need to give another material to your particles and to your comet itselft, don't give it noise, just pure Emission to begin, then you can try to mix with Transparent with Layer Weight as factor...

if you test the material in Eevee don't forget to go into the Material > Settings > Blend Mode > Alpha Blend in order to have transparency

This is my result, following the steps above
https://pasteall.org/pic/e04582bce5304fab9361bac226e6b0ed

so you're not too far, you need to give a rather white color to both the comet itself and to the particles, push up the Emission strength, enable the Bloom option in the Render panel, in the Compositor give your image Blur and Glare

I did what you said, but I'm still getting issues in my render. The result that you got, is exactly what I need, but when I try to reproduce your steps, my result doesn't look even close yours. Could you check my file please? And let me know what is not correct ? That I need to change? I've created a material just to the "ball", another to the tail, another to the dusty, other to particles. I've added blur and glare on composite too, and messed around a lot with this, but nothing close. Can you check it please ?https://blend-exchange.com/b/w5D5Jnr3

use a lighter (whiter) color for the ball and the thin tail (i.e. lower the saturation value). For the Compositor, click on Backdrop and create an Output > Viewer, an dplug the Glare into the Viewer. V and Alt V to scale the backdrop


text:
Stretching cube object
Stretching out Cube object in real time until it touch's any other object in the
scene.Is this possible in real-time.This cube object need's to stop once it hit any other object.

Have you tried enabling snapping? When I am modeling, I typically enable snapping and set the snap element to "Face" and it works for me.


text:
array and path curve
here is a small question - I created a chain for a motorcycle using an array and a curve, I applied an array, and I don’t understand what to do with a curve when I move it, delete it, or apply into mesh, than copies of objects is disappear

hello, could you please reformulate because it's not very clear, if you applied the array, then the copies of the object can't disappear...

I added a video, no array

could you please share your file? https://blend-exchange.giantcowfilms.com/