text:
Emitter emits particles "somewhere" if i increase number to 5000
I have a simple cube with some rotation and location animation.
All 8 corners have particle system on a vertex as child on these vertices.
With Number 100 everything is fine.

If i increase the number to 5000 ...suddenly on the left side just "in space" 4 particles are generated where there shouldn't be particles.
What did i do wrong?

blend file to check:
i have to admit i try on 3.0 alpha....yes, it might be buggy but honestly: for me it is pretty stable and doesn't crash more than older versions...(just my personal experience)
same problem on 2.92 even worse on 2.83.1....maybe mac only problem...i dunno

there are some bugs like this as long as you haven't baked, have you?

no, i will try at once

i baked, same result....äh...no, even worse

oh ok, I hope someone will know then...

i just wonder...until now i never had such problems. Emitter was pretty reliable ... ;)

Have you tried the same in a stable release? If it's working there then it's probably really due to the fact that you're using an experimental build - seemingly stable and not crashing often doesn't necessarily mean it can't be a bug,

same problem on 2.92 even worse on 2.83.1....maybe mac only problem...i dunno

Did you try switching off particles collisions? They may collide with each other and get displaced.

It would appear to be a bug and it would appear to be related to the parenting of the emitting vertices to the corners of your mesh - with the location of the particle taking on the un-transformed location but obeying the rotation (this can be seen from the pattern of the particles after the rotation has stopped but the location is still being keyframed).
You should cut it down to a minimal example (eg, 1 vertex instead of 8) so that the situation can be easily replicated by the developers (it's better if the situation can be replicated from a default cube new Blend file rather than relying on them opening your Blend - this way it rules out anything specific in your file), listing the exact steps taken to setup the example (eg, "From the default cube, create another mesh (eg, a cube) and, in edit mode,'Merge' the vertices to a point so that it consists of a single vertex and move that vertex to the vertex of the cube. Parent the vertex to the cube and keyframe the location and rotation of the cube so as to move it over 100 frames by 5 units away from the world origin while randomly rotating. Add a particle system to the single vertex object with default settings set to emit from 'Vertices' and set to 5000 particles. Run the animation and a small fraction of the particles are being emitted at seeming random locations instead of the vertex." (assuming something like that can replicate the problem). Include screenshots and include your .blend.
The bug can be raised within Blender by selecting the "Help/Report a bug" option in the menus.
For info, I've replicated this on a Windows 10 system with Blender 2.91.2 by simply Appending all objects from your file into a default startup blend file.
As mentioned, it appears to be related to the parenting of the vertex to the animated cube with the particles not always picking up the 'final' position (possible race condition).

ok, thank you for reproducing and taking your time! i will try that!

No worries - glad I could help. You might have some luck with Bake Animation of the vertex objects so that they are no longer reliant on being parented. If you do raise it as a bug then you could also post here so that there is a link back to it for others having the same problem.

bug report: https://developer.blender.org/T90494

Just one question for clarification: is it necessary to have single vertices parented to the cube? If I just put a particle system on the cube and set Source > Emit From > Vertices and increase the particle number to 40.000 as you also would have with 8 vertices set to 5.000 each, than the particles emit only from the corners without errors.

@GordonBrinkmann - unfortunately it does need to be done this way if there is a requirement to emit particles evenly from all of the particles. The 'Random' option obviously emits from the vertices irregularly while the 'non-Randon' option emits from each particle in turn - ie, all the particles from the first vertex over its share of the frames, then all the particles from the next vertex over its share of the frames, etc. eg, 1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,...etc.

There's no option to emit in turn for each subsequent partical - eg, 1,2,3,4,5,6,7,8,1,2,3,4,5,6,7,8,1,2,3,4,5,6,7,8,...etc.; the only option is to have single vertices as described in the question. I hit a similar problem previously - see https://blender.stackexchange.com/q/94104/29586 and https://developer.blender.org/T79339

@RichSedman Oh I see, okay... didn't know they had to be evenly distributed. That's a pity.

I was testing a lot and in the end I got it working as expected with the following settings:

Under Integration > Subframes I'd set a value of 10 at first which made it better, then I raised it to 20. Now there were only two or three randomly appearing particles left.

Then I activated Size Deflect in the Deflection options. After that everything worked correctly.

@Chris seems like setting Blender to compute a little more precise already helps.

+1 yep, in my 3.0alpha version on mac it already worked after setting subframes to 20 (without size deflect)

I suspect that increasing Subframes is effectively doing the same as reducing the number of particles - ie, fewer particles per (sub)frame. This is probably reducing the amount of work and so reducing the chance of triggering the bug. Not sure why Size Deflect would have an effect - unless it acts to spread the workload out and so reduce the chance of the conflict causing the problem.

@RichSedman I simply guess that not the workload by itself is the problem, but the precision in calculating. Having to take Size Deflect in account might lead to more precise calculations - which could result in correct animations. Just an idea, though. Of course fewer particles per subframe might be the cause for reducing the workload, but usually particles get spawned exactly on frames. The way I understood the subframe setting was that especially when particles are moving fast, there are more positions calculated between frames so that the movement is more precise, hence less weird results.


text:
Rendering proper materials
I am a beginner at rendering! I am trying to render a very simple object, a sphere with a single material added with the principled shader. I would like to make a high-reflecting metallic sphere.
I don't understand why I see something similar to what I want in the LookDev Method (I use Blender 2.80), but something totally different (i.e. a diffusive and very dark sphere) when I render the scene. I attached the pictures of both the LookDev Method and the rendered image.
I think that the materials settings are more or less fine (cause I see it properly in the LookDev Method), and I have tried both Cycles and Eevee as render engines, including the Ambient Occlusion and employing an HDR environmental texture.
Could anybody suggest me which rendering settings are key to obtain the desired result?
Rendered vs LookDev display

Hi dboss, on blender.stackexchange answers should be reserved for answer and question information should be included in the question. You can edit your question anytime with the edit link below it. I have included the content (which you wrongly posted as an answer) in the question.

Thank you very much! I apologize for my mistake: I am a total rookie here!

LookDev mode is intended to give a basic approximation of how the material will behave. Those reflections? They're a built-in environment texture so that we can see the reflections of the surface. Rendering is a different process tho, and uses separate lighting.
Lighting is a pretty complex topic, but one good way to get reliable results is to use an HDRI - like lookdev mode does. Hdris can easily provide good lighting and realistic reflections. This is perfect in your case too, because the reason that the rendered sphere looks flat is because it only has a uniform color to reflect! The best free high-quality HDRI source is hdrihaven.com To learn about how to use them in your scene, see this How can I render an object with an hdr background?
I hope this helps!

Hi! Thanks a lot for your help! I checked your link: in my case, I would like to set the background transparent so that the HDRI is just a light source. You mentioned that the problem is that I have only a uniform color: how can I improve it? I set a yellow color in the principled shader and I would like to obtain a result similar to what I can see in the LookDev mode. Do you have any ideas on how to get there? Thank you very much!!!!

Oh yeah, you can do that. Either check "transparent" in the film tab, or use the environment nodes to visually replace it with a different color or image. I can elaborate on either, but which one sounds like it will most fit your situation?

I have already checked “Transparent” in the film tab, since I don’t want to see the background. Actually I would like to have no background in my rendered image. Now I would like so be able to render my sphere, so that it results shiny, glossy and metallic...similarly to the LookDev image. Thanks a lot for the help!!!

source: Stack Exchange

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

sort: votes


text:
Is it possible to design a game in Blender?
I was wondering if it´s possible to design a game in blender?
For example, can you design a level in Blender then export it to Unity?
It would seem to be easier to do it that way since Blender is dedicated to modelling and the interface in Unity looks quite complex.

Yes, you can do that. You can model every element of your game in Blender then export them into Unity, or any other game engine. The game itself would still have to be coded in Unity.
Blender 2.79, the current version, even has an internal game engine allowing you to design games that works in Blender itself.

Thanks a lot! One more thing... Should I use subdiv. modifier when making game objects? :)

I'm sorry but I have no idea, I've never made a game in Blender myself. Also, it would seem that the game engine won't be in future version of Blender, starting from 2.8, since there are now way better engines to make games and Blender is a modelling software at heart. You can accept my answer by clicking the check-mark under the voting arrows to the left, it will give me reputation which is how the economy of the site works. You can take the tour to learn more about how StackExchange works.

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


text:
I can’t get the rest pose to reset without the rig glitching
I'm trying to rig a sword to the hand of my character, so I parented it to its own bone on the rig. I'm trying to reset the rest pose of the rig before I Parent the sword bone to the one in the hand, but when I try to do it, either the rig gets messed up so when it's in Edit Mode it's in the right pose, but in Object it's not. Or the mesh of the character doesn't move to the no rest pose but just moves to the original one. I would upload the file, but I don't know how because the upload function on the forum says the file is to big, and I had trouble zipping it when I tried.
Here is a link to the blend file.
http://www.mediafire.com/file/vtp2k9u0kisp6qi/Shape_man.blend/file

I have done the following:  if the blend file has lots of other objects and data, you may want to make a copy and delete items to reduce its size, and if it contains internal copies of texture images you can also jetison those with the File : External_Data : Unpack_All...

I do run into some "experiences" in armature animation (try duplicating a character and splitting off the poses is my latest).   Don't try to pose your character in edit mode -- that's for bone placement against the rest pose.   If the object pops back to a different pose in object mode from pose mode,  you may have something keyed in animation.   In object mode if you see animation on the bones (e.g., "spine_fk.001"), in timeline or other Animation editor, select all (or summary row keys) Delete Keyframes.  If nothing there, go back to pose mode, select all (bones) and Delete Keyframes.

I don't pose the character in edit mode, I simply tried to change the rest pose then went into edit mode to see that it worked but when I went into object mode the skeleton was in a different pose then the rest pose in edit mode, and trying to reset the pose in pose mode to rest did nothing. Also I added a link to the blend file, so you guys can take a look. Just try to change the rest pose of the character rig and you will hopefully see what I mean.

So I decided to trying changing the rest pose on another rig on a separate file that I had changed the rest pose on before on an older version of blender. The same thing happened on that rig, so clearly its not particular to that first rig, it must be something I'm doing wrong when trying to change the rest pose, now that I am using a newer build of Blender. I guess I don't know how to do it in 2.91.
So can someone walk me through how to, and avoid this problem?

I'm commenting here without any real knowledge of your rig, but on a straight forward affair the procedure isn't complex.  I've got some notes I made for myself yonks back.  You're welcome to those if you're still struggling with this.


text:
Having trouble Parenting a Bezier curve
So I am working on a mesh of a character with a tail. I used a Bezier curve to IK that but I'm having trouble. Everything is fine until I try to parent the curve to the armature in some what either the whole thing or a specefic bone. When I do just one bone at the base of the tail and try to use the handle on the end of the curve at the tail bones base it causes the whole curve to rotate at the handle, and I can't get it not to do that.
Here is my blend file

Here are thimages that were requested.
The first it the Curve being bent when not parented to the armature. As you can see working perfectly.
https://i.sstatic.net/gqe1I.jpg
The second is after the curve is parented to the first bone of the tail and then the handle is used. Instead of curving it spins the whole curve wildly twisting it up.
https://i.sstatic.net/9pPFM.jpg

Please place an image in your question.

See Spline IK .. for more control and then show your work.

Okay added the images

I still really need help on this, I have looked everywhere for an answer.


text:
Continuous UV for effects in high resolution
I'm trying to get better at UVs and what I have here is an object, that needs to be UV unwrapped the way so that, for example, when I offset a black and white texture on the Y axis, the white part will go around it in a circle following the edge flow (attached image).
The solution I came up with was straighten the UVs and put them next to each other. But with that comes a lot of problems. For example, since I had to scale it down so much it will have poor resolution. Also when using addons like UV packer it doesn't recognize the two separate parts of the mesh as one and puts them far apart, removing the idea of texture making the full circle.
What is the best way to achieve that and what am I missing?

If you don't mind the texture to be the same radially you can overlap your UVs vertically

I don't want it to overlap, that would solve the long UV problem

An option might be to abandon from-map UV mapping altogether, and map the 0-1 UV Space to polar coordinates in Object Space:

I will eventually have to export it into a game engine and also use other apps so this is not an option. It's also very stretched and I have to avoid that too.

Okydoky .. (stretching is inevitable? There's a singularity at the center.)

There's some stretching near the center but not as bad as on the picture (I was trying to fix that too but didn't figure out how). Maybe because there's more edge loops. Also the mesh gets cut off in the center so no singularity.

@DavidElucard probably not helpful, again .. but if you create a 0-height baseless cone instead of a circle, the default unwrap looks a lot better for you.

Didn't know that, thanks. But yeah, the main problem there would be the "singularity" and stretching :/ I actually thought it was something simple but now I see why people hate UV part of modeling so much


text:
Geometry Nodes - Get Object Origin From Object in Collection?
Quick question for all those more versed in Geometry Nodes than I am.
I want to pick an object from a collection by it's instance index and place it at the origin of whatever object is using this geo node setup:

Right now, I'm able to do this with some inverse calculations upon the bounding box of the output outlined in red, but what I'd really like to do is get the object origin of the output outlined in red, even though by this point its not an 'object' but just mere geometric data, so that I can retain the offset the mesh data might have from the origin of the picked object that mesh data belongs to.
Is there any way I can achieve what I described even if completely alien to my current node setup?
Many thanks for reading!

Simply reset the transformations of the instances, so their locations are $<0, 0, 0>$, then pick the one of interest.

That seems to have done it, TYSM! Sorry for the late reply, got caught up last night in other matters than had work all of today : )


text:
Geo Nodes - 'Dashed Line' Connectors: How Do They Work?

So I found out that affine texture mapping is really simple to recreate in geo nodes and thought I'd give it a go, and whilst the guide I followed to do so worked flawlessly, I wanted to rearrange the node setup such that the UVMap attribute was written to directly in the geo node setup. I didn't think this would be a problem, and yet it was down to my ignorance of some geo nodes fundamentals I'm hoping you guys can help me on:

Why do the two examples in the image above give two different outputs? As far as I can tell, both examples achieve the same goal and all that changes is how the shader nodes interact with the result. I understand that dashed line connectors in geo nodes represent function flow and solid line connectors represent data flow, but I don't really know what the difference between the two is. From what I can understand from examining my examples, it would seem dashed line connectors can have inputs at the end of the connector affect the output at the start of the connector, but how and why?
Many thanks for reading!

The difference is simple. While Geometry nodes are calculated on some domain (like vertices, edges, faces or in your case face corners), shaders are calculated on each pixel on the screen. Let's look at a simple example. Here I made a plane with a vertex group, each point except one has 0.5 weight, and bottom left has 1 weight:

Now, you can divide UV coordinates by vertex weight. It will double values except one corner, which will stay the same.

If you multiply UV back by vertex weight, you will get back UV values as if they have not changed:

But if we multiply UV in shader, we will make this multiplication in shader in every point of the surface. In this case, that will happen, for example, in the center of the plane?

Note how non-uniform vertex color is drawn by vertex shader:

In GPU meshes are drawn by triangles, so it is not possible to interpolate vertex weights on plane, instead it interpolates on 2 triangles.
Imagine that you want to calculate a point in the center of the plane. It is on this triangle:

Bottom-left point has UV (0,0) and weight 1. Top-right point has UV (2,2) and weight 0.5. So point in between has to have UV (1,1) and weight 0.75. If you multiply these you will get UV (0.75, 0.75) instead of normal (0.5, 0.5)

I think I understand now, I just wasn't in the right mindset. From recent OpenGL projects I know about vertex and fragment shaders and the graphics pipeline they follow and I had just yet to make the comparison in my head that shader nodes and geo nodes are equivalent to fragment shaders and vertex shaders respectively. If I understand correctly: I have to multiply the UVs in shader nodes because setting data per-vertex and then reading data per-fragment is what makes the UV multiplication skewed/interpolated for the affine mapping effect? At least, that's the sense I make of it. Thank you!


text:
why does my z-value change, if i use this geometry-nodes setup?

I am using this geometry nodes setup.
If i move my controller, the plane "reacts" like this.
I hoped/thought, it should have a constant z-height, which is just moved by the controller, instead the z value changes. Maybe i am too tired now to understand, but can somebody explain me why this happens!? and/or tell me, what i have to change so that the z value keeps constant, but just "moves" with the controller?

*** UPDATE:
This "should" be my node setup...thanks to Nicola:

It looks like you're using the whole position of your controller (a vector: blue) to drive the Z (a scalar, grey) of your offset: see the noodle changing color here:

I can't remember now, but this is either taking the X position of the controller or the norm of the vector. This is why your Z seems to change depending on the X of the controller.
I don't have B3.0 right now, but I believe you should be able to just scale a vector field by 0 along X and Y. Or you can put a Separate XYZ and a Combine XYZ next to each other, connecting only the Z between the two, to achieve the desired effect.

thank you! i am stupid! of course i have to separate the z value first. OMG...Thanks!!!


text:
driver execution in shader nodes
I have a driver in my input nodes which works fine. It just outputs a random value.

But...it will only be executed once.
If i do something like in this screenshot, the x coordinate will be evaluated for every x, right? or am i missing here something?
But my driver value will be executed only once and for all x/y/z values it will be that constant value...can i somehow change this that my driver will be executed for every coordinate as the "less than" node does this?
This is in my driver:

import bpy
import random

# two sample functions
def rand(f,t):
    """ Simple function call:

            invert(val)
    """
    print("executed")
    return random.uniform(f,t)

# Add functions defined in this script into the drivers namespace.
bpy.app.driver_namespace["rand"] = rand

Hello ! Not sure what's in your driver but if it's "just" outputting a random value, you might want to use a White Noise texture https://blender.stackexchange.com/a/213316/86891 with a Map Range node afterwards

thanks! that was i was looking for. So for me it seems that way, that shader nodes calculates all values once except the ones which has the coordinates as inputs (which makes sense in an optimizing way). So my problem could probably be solved if i had the coordinates as inputs for my driver... ;)

To get any value per X, the value must be some function of X. X is not accessible at the time the driver is evaluated.
For a (discontinuous) random 0-1 per X, you could use X as the coordinate to look up into 1D White Noise:

If you want the value to be random (per X, per Frame), you could use 2D noise:

thanks Robin, unfortunately i want to be able to have a random number per texture x coordinate. But i couldn't figure out how to get texture coordinates into my driver...but yes, i understand, this works with white noise, but not with my driver ;)

but if you know how i get the texture coordinate in my driver i would be very interested....

@Chris Ahh.. if, by texture coordinate, you mean UV coordinate, plug in 'UV' instead of 'Object'  from the first node. (or, if from a particular non-active UV map then use the UV Map input node).

sorry, looks like i did not make it clear. Yes i meant UV coordinate, but i meant my driver...how can i get the uv coordinate in my driver?

@Chris you would have, somehow, to associate something with UV, before render-time. What is your desired end-effect?

this was just a "i am curious"-question. How i could do that. Thank you!


text:
how to make bone names unique for several (selected armatures)?
This is a follow-up question to:
Joining my armatures makes my meshes "vanish"
I have learnt that meshes with the same bone names "vanish" if you join armatures. Is there any function or add-on that makes all bone names unique for selected armatures?
Because my typical workflow building a robot is:

rigging one leg
parent that to an armature
copy that leg + armature

-> and then i have double names and cannot "join" them because of same bone names.

Select one armature and go to pose mode or edit mode, select all bones, press F3 and search for Batch Rename.
Make sure to choose "Bones" as target, then you can choose "Set Name" option, "Prefix" Method and add something like "Rig_01_" to all bone names.
If the model is alredy skinned, every corresponding vertex group will be renamed too.


text:
I want to control a traffic light. Is there a way that i can access any "common" field from anywhere to the shader editor?
I want to control a traffic light. As easy as possible.
So i have 3 objects with emitters and i would control the strength of the lights by 3 variables/custom attributes: Red, Yellow, Green - which basically just hold the strength value for the emitter color.
But if i understood it correctly i cannot get custom attributes from shader editor/nodes. Is that correct?
I could now use drivers to copy my control variables to my 3 objects in e.g. the viewport color and use them.
But...it there another way? If yes, I would like to hear that!
Thanks.

Hey I didn't understand if you wanted to get values out of the shader tree or into the shader tree ? The former is not possible afaik and the latter you can do with an Attribute node with either a custom property on the object or an attribute on the geometry using Geometry nodes

Sorry for not being clear enough. I want a value into the shader tree. I tried to access the custom attribute with ["custom attribute"] but it didn't work

You don't have to use the commas and brackets in this node, just the property name which is case sensitive, and dont forget to set the type to Object and not Geometry

@Gorgious: my problem is, that i want to take the custom property of another object (the traffic light controller) to change the emission strength for red (object1), yellow (object2) and green(object3). Is this possible too? So unfortunately it is not the same object where the shader node tree is used...

I didn't test it but I think you can drive the custom property of obj A with the custom property of obj B (the master driver) and then use it in your shader editor. Not as straightforward though

On the lamp object, I added a Custom Property I named Emission. I then created a material that uses an Attribute node set to Emission and plugged it into the Emission Strength input of a Principled BSDF through a Multiply node to adjust the strength.
I duplicated the material for Red, Green, and Yellow lights. I duplicated the lamp object 6 times and applied the appropriate material to each.
Each lamp object has its own copy of the Emission attribute, and these Custom Property attributes can have drivers attached so you can set up a controller using drivers.


text:
Texture doesnt render correctly when rendering final image
I have some strange problem in my recent Blender project.
I modelled a room with some stuff in it and I added some simple wooden texture to the floor. When I am in the 3D view and change it to "rendered" everything renders correctly. When I hit Render through the menu, I have some weird effect on the floor, somehow its totally messed up.

Does anyone know why this happens? And do you may have some advices for me , to get a noise free interior scene with blender without sampling everything thousands of times?!
Thanks in advance! -Marten

Please upload your blend file otherwise it will be difficult for people to help you.

Are there any modifiers? Are there any hidden objects?

possible duplicate of Cycles viewport render different than f12 render?  Related: What are the technical differences between F12 render and viewport preview?

Oh okay I figured it out. I had a hidden object at the same position as my floor. Woupsi..

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


text:
Yafaray Export Button doesn't show in Blender Render Menu
I hope some of you are familiar with the open source render engine yafaray. I just installed it because I am working on a project where I have to render some interior camera animations. I read a lot about cycles being pain in the ass when it comes to interior scences and since my computer isn't fast at all, I was looking for some alternatives to improve my render Time. That's when I found Yafaray.
Now I downloaded the engine from the following (I got this link from the official Yafaray Page):
http://www.jensverwiebe.de/Jens_Verwiebe/Software.html
I guess it's the most recent software and I run Blender 2.71 .
Now, my problem is, that the promised "Yafaray Export"-Button doesn't show up in my Render menu list.
Does any of you may know why?
Thanks for your help in advance!
Marten

You'll need to change render engines. I'm not sure that the Yafaray plugin exports the XML (I don't have Blender open now so I can't check). The same dropdown you use to change the render engine from Blender Internal to Cycles is the one you use to change to Yafaray. However, you'll need to enable the Yafaray plugin (Preferences, Addons).

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


text:
How do you access the Blender underline keyboard shortcuts?
In Microsoft office software if you press alt, menu items appear with a keyboard shortcut. Is this possible in Blender?
In this instance I was trying to select several edge loops with a combination of keys.

How were you going to show Blender which edge loops you were going to select if without mouse ? And I don't think you can get that behaviour like in Windows programs; Alt is used in another way in Blender. The only similar thing is that if you enter menu (e.g. Specials in Edit mode) it has underlined characters in its list items which show which button to press for fast access.

sorry, I would have had to start it all off with ctrl+alt+right click to select edge rings. Basically trying to do the following link with more shortcuts https://www.youtube.com/watch?v=Yptda_yKQIU

What? How to select an edge ring or edge loop? If that's the point, it's a totally different question... removed my answer. Please don't waste other people time and improve your question.

If you press the space bar you get a search tool where you could search the name of the required operation and it show the shorcut of it (if it has a shortcut)

Forementioned Searh command menu is the easyiest way if you know the command name. But if you don't you need to try opening every common dropdown menu look for you command to see if it has a hotkey. For you particular question about edge loops you first need to select at least one edge in every edge loop you want to select while being in edge selection mode(which can be toogle by Ctrl+Tab then 2) , then the default hotkey would be Ctrl+e then p. You can check other hotkeys by opening other commond menus in mesh mode like Ctrl+e, Ctrl+f, Ctrl+v and W and by clicking View,Select,Add,Mesh buttons in bottom left corner of 3d window.


text:
2.8 Principled glass shader doesn't show any thickness?
I've got a principled glass shader and I've got the “screen space refractions” turned on. The glass has a thick base but you wouldn't know it to look at it? It's transparent ok and refracting the light ok, but the thicker base isn't apparent at all. Any ideas?

The principled shadernode looks like this

Wireframe shows that the cup has a base that isn't apparant in the render.

See if mesh object doesn't have negative scale and has its normals calculated inside. Also yes, if you want glass Transmission value in shader should be set to 1. So far you seem to have almost perfectly glossy shader

You can watch this blender tutorial. For transparent glass material. https://www.youtube.com/watch?v=lg_2OalFc8M

Right figured this out, sorry my fault it wasn't actually a transmission issue (that was set to 1, I must of been fiddling with it when I took the screen shot). So the issue did occur even with a transmission of 1.
The problem was I think with everything being a bit flat. So I added a few edge loops and added a bit of curve to the base, making it more parabolic(?). Also, made sure I didn't have any extra faces hidden in the base.
Also used all the setting recommended above (thanks everyone, much appreciated) ie.

blend type to "Alpha Blend" in settings for the material
See if mesh object doesn't have negative scale and has its normals calculated inside
“screen space refractions” turned in settings for the material

Seems to be working for me.
You could try switching the blend type to "Alpha Blend".

Eevee:

Cycles:

Your Principled BSDF node doesn't have transmission set to 1, so all transparency you see should come from Blend mode setting in the material which is not glass shader. Set Transmission to 1 and see if it helps, if it doesn't then try to change between Blend modes in material settings.


text:
Blender won't copy pose in dope sheet and mirror paste it
So I'm making a walking animation, I got half of the cycle figure out, and just want to mirror the first half to create the second. How ever when I try to copy the third keyframe and flip paste it, I get these stupid glitches. First, when I pressed Ctrl+C it won't copy to buffer. So I have to go into the pose menu to tell it too. Then when I tell it to flip paste, it will only paste the previous pose I copied and flipped. I can't explain it better then that, only if I go back to my last save and start over it happens all over again when I try to copy and flip pose three.
Here is the file, copy the pose at frame thirty, and try to x-flip paste in at frame seventy. If all goes like it does for me, it will glitch.

(Update) So I took one more stab to solve it and I found that if I copied the keyframes I wanted and normal paste them, it worked fine, its only when I x flip paste them that it goes wrong. Another thing that will have when I try to flip paste is it will paste a pose that is not the one I copied and infact don't have any poses like it in key frames

About your copy-paste problem: maybe you've enabled the Copy Attribute addon, which seems to disable the normal copy-paste function in Pose mode and Dopesheet. If you have it enabled, use the copy-paste buttons on the horizontal header.
About your armature: First I personally prefer not to activate the Automatic Keyframe Insertion and the Active Keying buttons because I find it a bit disturbing as it creates keyframes as soon as you move a bone, but it's my own preference and maybe you feel comfortable with them.
Also, when you create key poses (in your case frames 0, 10, 20...) I think it's better to create keyframes for all the bones so you're sure that the flipped pose will be symmetrical and won't depend on what happens in the previous and next keyframes.
Now I think the main problem in your settings is your bone called Root.
First I don't understand the use you make of this bone. The root bone should be the hierarchy top parent, meaning parent of the hip, of the IK controllers, IK pole targets, etc... which is not the case here: You only parented Hips to Root, but what does Roots brings to the Hips function? It's not clear to me... So maybe first fix that.
Once done, most of the time, you won't need to use the root bone, except sometimes when you need to move the whole character.
So, what's exactly the bug that is happening when you copy-flippaste your bones? Actually it flippastes the left bones poses to their symmetrized right copies, and vice versa. But it also symmetrizes the pose of any other bones on their own X axis. That's what happens to Root: As you've created a pose for Root, it symmetrizes it on its X axis, and as its X axis points backward, it's flipped upward, and therefore it moves up Roots and its child Hips and all the Hips children!
So once you'll have changed the Root bone settings, and as you won't have any reason to move it, the problem won't happen any more.


text:
I need help with an animation i'm doing
I am doing a animation for my school, but for some reason whenever I go into render view or I try to render the animation my mesh plane doesn't show up, and
I haven't hidden it and I also haven't moved it to a different layer
Please help asap!
Edit: Thanks for taking interest in my problem, here are the photos you asked for!

hard to tell, please share your file: https://blend-exchange.giantcowfilms.com/

Possible duplicate of Why does my object not show up?


text:
Fluid simulation not fluid: no liquids coming from inflow or dropping from geometry
I am attempting to make a not-so-accurate tsunami from a flipper in my scene and water.
I have watched hours of YouTube videos on Blender fluid simulations.
The scene is from a mesh created by BlenderGIS and was extruded. I looked at bathymetric data and created the ocean depths around Dingalan Bay, the Philippines.
From the ocean floor, I created an extruded mesh to represent the water (my custom fluid object).

I created a Domain cube and set it to the appropriate settings according to the videos.
I created a little flipper to simulate an earthquake on the ocean floor and animated it to rotate.
I made the land mesh an Effector and turned up the Surface Thickness.
I made the custom liquid object into a Flow Type of Liquid and Behavior as Geometry.
And then I Baked All.

Nothing worked as I think it should have; consequently, I made a cube into a fluid object, set it above the land mass, and set it to be (a) Flow Behavior as Geometry and when that did not work, I set it to be (b) Flow Behavior as Inflow.
Again, no liquids come from the fluid object. The flipper animation works great.
I am including the Blend file to see if anyone can help me determine what I have done wrong.

you have a big problem with your size and your resolution.

The orange box in one edge of your domain is the smallest fluid unit. Blender doesn't take into account anything which is smaller than that. So if this is bigger than your inflow or geometry, you won't see anything happen.
So either your crank up your resolution a lot (which makes the fluid simulation incredible slow) or your lower down the size of your domain (which is insane big in your case :8 km x 5km x 3 km).


text:
How to control displacement map applied by texture coordinate with object for cylindrical surface
Any idea how to fix the shader to display the displacement map correctly (pictures A, B, C and D)? I am using texture coordinate with object (empty axis). It worked fine with a flat surface with unrepeatable configuration. But with a repeating pattern and a cylindrical surface, I did not reach the expected result.
Note: I tried other methods like sculpting with alpha texture and texture painting but the result is not sharp and clean when compared to shader including poly. count as well.
Picture - (A): Target Area

Picture - (B): End Result

Picture - (C): UV

Picture - (D): UV for Target Area

Source File:

how did u unwrap your uv? maybe it would be helpful to provide blend file so we don't have to ask....

Hi Chris, I added a picture for the UV above (picture - C) and (picture D) for target area. Unfortunately, there is no upload option for blend file.

there is, just open https://blend-exchange.com/ and follow instructions

If you are using UV mapping, you would expect to use the 'UV' texture coordinate, not the 'Object' texture coordinate..

Hi Robin, I am using Object indeed to avoid bump texture preparation.

Hi Chris, thanks for the website. I uploaded the file and updated the post accordingly

Hi :). @Robin is right, the stretching is caused by using Object coordinates. No matter how you unwrap it, object coordinates ignore your UV map.


text:
Geometry Nodes Curve deform array on multiple splines
Since I seem to have made it too complicated. My goal is to line up objects with deform on a curve, but in order not to constantly use a new curve, it should also work with several splines of a curve.

That was just my approach.
[ Now it works that the arrays act on several splines, but since the instances always only take the entire lenght of all splines and the remaining geometry that cannot be mapped on spline is scaled together.
Then I figured you could use a boolean node to trim the array geometry to the correct length of each spline. The problem then is that you would have to split the boolean geometry into individual parts and reassemble them into a whole instance per spline in order to address them again at each individual spline ID.
I have mention that it's more of a piece of cakework and I don't have a deeper understanding of geometry nodes.
That's why I'm asking, does it make sense to even try something like this in terms of performance?
This is the node group I use for the curve deformation (X_Curve_Deform)
how to bend geometry with geometry nodes
. This solution is for multiple splines
Apply a copy of an object to each disconnected curve using the curve modifier
. Perhaps this question and solution could help
Array deformed along multiple disconnected splines
.]
My nodetree

the Spline_length_03 group

I want to use the boolean operation to cut them to fit the length of each spline but when i do this it also join all to one single mesh. Now i have to split the mesh in (this example 3) seperate instances or meshes and reordered them on the splines. At end the curve deform operation will do the rest. I don't know how to explain it better, one goal is, for example to draw multiple chains on a character for instance. It works for now but the all vertices/Faces witch not fit to the spline will scaled down and its generate zero faces. I would try to avoid this.

Could you state your goal in simpler terms, before describing  the method? I'm guessing you mean you want to trim multiple ordered splines continuously, from the end of spline n to the start of spline 0

Ate you trying to avoid clipping? There are two ways,  one is to extend it passed the bounds of the curve, the other is to use the bounding box of the instances to scale it down to fit within the bounds of the curve.


text:
why is a white ball rendering in my scene?
I am using the bps rig, but I already animated with the character. Does any one know how to make it go away with out harming the animation? Oh btw i used the most recent bps tutorial.

If you could please provide a picture or gif of the problem, I might be able to figure it out. Hope I can help!

Are you using the Black Plasma rig? This happened to me too, and I fixed it by deleting the character and appending a new one. They aren't a pain to set up but if you have already animated it there might be a problem. Please provide more information in your question, e.g. what tutorials you followed, what rig you used, etc.

As said above, if you are using the black plasma rig, then you can delete the character and append it again. If it doesn't work, just ask bps on their discord server.


text:
Ui menu with fields below each other
I am trying to create a simple menu with three fields below each other. The description on the left, the clickable part on the right. However, blender makes my layout explode!
This is what I think it should look like (done in MS paint):

This is what it actually ends up looking like (for some reason the fields are "staggered"):

This is what I have tried:
import bpy

class MyMenu(bpy.types.Menu):
    bl_idname = "OBJECT_MT_my_menu"
    bl_label = "my_menu"

    def draw(self, context):
        layout = self.layout
        col = layout.column()
        col.prop(context.object, 'name', text='First field - object name')
        col.prop(context.object, 'parent', text='Second field - object parent')
        col.prop(context.object, 'location', text='Third field - object location')

class OpenMyMenu(bpy.types.Operator):
    bl_idname = "view3d.open_my_menu"
    bl_label = "Open My Menu"
    bl_options = {'REGISTER'}

    def execute(self, context):
        bpy.ops.wm.call_menu(name=MyMenu.bl_idname)
        return {'FINISHED'}

bpy.utils.register_class(MyMenu)
bpy.utils.register_class(OpenMyMenu)

Why does blender explode my layout like this and how can it be fixed? I have tried messing around with rows and columns and alignment, but it always ends up looking like this.

Menu layouts are mostly for operators, and in some cases checkboxes. Consider using a popup


text:
Node editor lagging / unresponsive and imprevisible

Moving and arranging nodes has been a pain from 2.68 when I started using blender. With official and other builds. I have inverted the mouse to use LMB for selection and translation which is aggravating: RMB still works!?, still laggy, but for LMB I have to wait with mouse pressed over a node ~1/2 sec to be possible to drag the node. Otherwise simple click is not selecting the node. After successfully selected the node remains behind the mouse at every move.
Moving a node close to any margins of the editor window snaps the node far away on the grid, outside of the visible area.Which is especially annoying when creating new nodes as they get generated usually close to the borders.
Also the create node menu is slow to display.
This situation is the same on 2 computers that I use for graphics and is not depending on viewport shading.
I post here just in case someone has a suggestion to test. If not I will submit the bug.
Thanks

What are the specs of the computer(s) you have tried this on?

Most modern computers should work with Blender. It sounds like a bug to me.

Yes!It was my fault from the beginning.
At some point long ago I have changed these settings in Preferences/Input
1.The lag is caused by Drag Threshold and Tweak T. With 3px (minimum allowed) the lag disappears. I supposed & tested that their function is to smooth out drag behavior in mesh editing and slider controls but did not expect to affect the nodes in the editor.
2.The snapping was by Continuos Grab which I use also in 3dMax. And that behavior in node editor is a bug.

Drag Threshold
      The number of pixels that a User Interface element has to be moved before it is recognized by Blender.
Continuous Grab
   Allows moving the mouse outside of the view (for translation, rotation, scale for example).  source: http://wiki.blender.org/index.php/Doc:2.6/Manual/Preferences/Input

Continuous grab works fine for me in the node editor (on linux).


text:
Blender Nodes in Editor doesn't show preview Image
I have a small problem with my blender lately. I want to make some compositing with my compositing nodes but the problem is, blender won't show me the preview Image. I have a Screenshot for you guys.

The preview Image itself is enabled, but it just won't show.
Thanks for your help in advance!
-Marten

Have you rendered your scene? (F12 or the camera button on the renderlayers node)

@gandalf3 oh no! Is it necessary to do so? ... I am sorry, but I am new to Nodes.

Yes, otherwise the compositor nodes don't have anything to operate on (unless you add another input source besides the renderlayers node).

@gandalf3 btw, I read the other post about the preview Issue, but there was a white X and in my Case there was no white X so I thought it must be something different. But well, it worked so, thanks!

The white X only appears when the viewer node is selected.


text:
Blender supported 3D files that support armature
I am just doing some research for an interactive app where I need some 3D assets. I dont have enoguh time to model all myself, so I have to use already existing assets. Since I dont have 3D Max, Cinema 4d or Maya, I have to use Blender for editing and adding further animations to my assets.
My Problem is, most assets I found so far are .3ds files, .obj or fbx.
My Question is: What 3D file formats support bones?
I want to use assets that are already rigged, so I dont have to rig and texture everything again.
Thanks in advance

Two possibilities depending on the tools used:

Use OBJ files in combination with BVH. BVH contains the skeleton,
and OBJ is capable of containing vertex weights
DAE which is one file that can contain both the weights and the
    skeleton. This is the best format IMO and is widely supported
    (although perhaps slightly less supported than OBJ/BHV).

If FBX is your only option, I've used a program that converts FBX to DAE.
http://usa.autodesk.com/adsk/servlet/pc/item?siteID=123112&id=20481519


text:
How do I create a driver with a random value and apply that driver to multiple objects?
I have a few rocks in my scene. Lets say the scene is in space and I want to add some random rotation to the rocks. Since there are a few of them, I don#t want to go to every rocks properties and apply a driver by hand.
So my question is:
How do I create a driver that creates a random but laminar rotation on all axis and how can I copy that driver to multiple objects?
Thanks in advance

here's how to  create random driver http://blender.stackexchange.com/a/26597/5113

@Chebhou this is a jittering driver, i eant a continious rotation

instead of prop use the frame number ( which keep changing and thus create a continuous animation )

I don't think your mission can be accomplished with JUST a driver.  You might consider editing your question to ask for any animation technique, but wait a little while to see if someone can come up with an answer that does match your question.

Alternatively I would suggest playing with Animation Nodes Addon for a procedural animation:

Create an Object Group (CtrlG), loop through the desired objects via Group Input node, add a Random Vector node to get a random rotation value, add a Time Info node and plug the current frame value into the time input socket of a Animate Vector node in order to drive the animation:

Basic node setup (click to enlarge)

The node setup above is easily expandable. In this case it probably makes sense rotating each object at a different speed, depending on their individual size. Via Object Info node it's possible to obtain the scale of each object, calculate a unique float value from the scale vector and plug the result into the duration value of the Animate Vector node:

Different rotation speed based on the scale of each object (click to enlarge)

oh nice, I didn't even know there was animation nodes. Thanks a lot!

One thing that seems weird is those look like they might not be rotating around a consistent axis, more like they are wobbling.

You don't need a driver to accomplish this. Simply select all the rock elements you want to affect. Then use the Randomize Transform command and edit the XYZ Rotation values in the side panel.
This will give you a randomized starting rotation for each rock.

Now, with all the rocks selected, click CTRL+A and choose Apply Rotation.
Now we want to add a driver to the XYZ rotation values for each rock. We want this value to be constant throughout the animation. We can do this by using a multiple of the frame number.
First, select all the rocks and add them to a group named "ROCKS".
Then open up the text editor and run this script:
import bpy
import random

for obj in bpy.data.objects:
    randomSpeed = random.randint(1,20)*0.001

    for group in obj.users_group:
        if group.name == "ROCKS":
            for i in range(0,3):
                fCurveOb = obj.driver_add("rotation_euler", i)
                drv = fCurveOb.driver
                drv.type = "SCRIPTED"
                drv.expression = "frame*" + str(randomSpeed)
                drv.show_debug_info = True

This will set the XYZ rotation values to increment each frame. You can increase the rotation rate by increasing the 0.01 value.

good idea but i don't want to keyframe the animation with fixed values

sorry about that, updated my answer

sorry dude, maybe I am not expressing myself correctly. This is actually what I dont want. I don't know the length of the scene I want to render yet. that's why I want to have an continiously animated rotation on each object, without messing arround and extending any set keyframes to define an end of the scene. I want to tell the object at one point, how it should behave and than never touch it again. That's why I thought of drivers.

So far I solved my problem by adding a driver to each axis rotation with a scripted expression like "0.01*frame" or something. But since the factor "0.01" is fixed, the rotations kinda look like the same. As well as I still can't apply the driver easily to the other objects

@SlimMarten Did you get a chance to test my solution?

not yet, but I will today. I am gonna let you know if it works for me

nothing happens when I run the script. http://i.imgur.com/EiRtOof.png

Are all the rocks added to a group named ROCKS?

Also, don't forget to apply the initial rotations after you randomize them, before you run the script.

ah now I got it. for now the animations look quite equal. I need the "drv.expression" to have a random factor instead of "0.01"

Updated answer to add random speed per object.

accepted bro! This is what i wanted, thank you very much

The following worked for me (Blender 2.93): 1) changing users_group to users_collection. 2) Removing last line of code

Here's a python script that gives each object its own quaternion fcurves using sinusoidal easing backed up by some fancy application of high school trig:
import bpy
import random
from math import *
from mathutils import *

def random_in_circle():
    while True:
        x = random.random()*2-1
        y = random.random()*2-1
        l2 = x * x + y * y
        if (l2<=0):
            continue
        if (l2 <=1):
            return x,y

def random_axis():
    z = random.random()*2-1
    theta = random.random()*pi*2
    r = sqrt(1-z*z)
    x = cos(theta)*r
    y = sin(theta)*r

    return [ x,y,z]

def random_quaternion():
    """
    http://mathworld.wolfram.com/HyperspherePointPicking.html
    """
    x,y = random_in_circle()
    z_,w_ = random_in_circle()

    r5 =sqrt( ( 1-x*x - y*y) / (z_*z_+w_*w_))

    z = z_ * r5
    w = w_ * r5

    return [x,y,z,w]

def rig_quaternion_channel(action, channel, period, a, b):
    """
    This is heavy-duty voodoo to figure out what keyframes to use with sinusoidal easing
    to reconstruct a curve of the form
     a*cos(theta) + b*sin(theta)
     by converting it to the form
     c*sin(theta+phi)
    """
    c = sqrt(a * a + b * b)
    phi = -atan2(a, b)
    fc = action.fcurves.new(data_path="rotation_quaternion", index=channel)
    fc.keyframe_points.add(5)
    vals = [0, 1, 0, -1, 0]
    for j in range(5):
        kp = fc.keyframe_points[j]
        frame = 1 + ( phi / (2 * pi) + j / 4.0) * 2 * period
        kp.co = ( frame, c * vals[j])
        kp.interpolation = 'SINE'
        if 0 == j % 2:
            kp.easing = 'EASE_OUT'
        else:
            kp.easing = 'EASE_IN'
    fc.modifiers.new('CYCLES')

def rig_random_rotation2(obj, scn):
    """
      This rigs obj with a random rotation about a random axis using quaternions and fcurves with sinusoidal easing.
       I feel pretty smug for having pulled this off - RF
    """
    q1 = Quaternion(random_quaternion())
    axis = Vector(random_axis())

    #print( [ q1, axis ])

    # w2 = cos(theta/2)
    # x2 = axis.x*sin(theta/2)
    # y2 = axis.y*sin(theta/2)
    # z2 = axis.z*sin(theta/2)
    # w' = w1*w2 - x1*x2 - y1*y2 - z1*z2
    # w' = w1*cos(theta/2) - x1*axis.x*sin(theta/2) - y1*axis.y*sin(theta/2)- z1*axis.z*sin(theta/2)
    # w' = w1*cos(theta/2) - (x1*axis.2 +y1*axis.y+z1*axis.z)*sin(theta/2)

    period=(2*pi/random_rotation_speed_radians()) * scn.render.fps

    obj.rotation_mode = "QUATERNION"
    obj.animation_data_clear()
    obj.animation_data_create()
    action = obj.animation_data.action = bpy.data.actions.new("groovy")

    """
    Given
    * one orientation quaternion q1,
    and
    * a rotation axis
     use the formula for q2(theta) = Quaternion(axis, theta)
      and the formula for q3 = q1*q2
      figure out how q3 relates to theta, and reduce each w,x,y,z channel to an expression of the form
       q3[i] = a_i * cos(theta/2) + b_i * sin(theta/2)
       and pass those coefficients to rig_quaternion_channel so it can rig the fcurves correctly
    """

    rig_quaternion_channel(action, 0, period, q1.w, -q1.x * axis.x - q1.y * axis.y - q1.z * axis.z)
    rig_quaternion_channel(action, 1, period, q1.x,  q1.w * axis.x - q1.z * axis.y + q1.y * axis.z)
    rig_quaternion_channel(action, 2, period, q1.y,  q1.z * axis.x + q1.w * axis.y - q1.x * axis.z)
    rig_quaternion_channel(action, 3, period, q1.z, -q1.y * axis.x + q1.x * axis.y + q1.w * axis.z)

def random_rotation_speed_radians():
    return random.random() + 1

def mission2(scn):
    for obj in scn.objects:
        if obj.select:
            rig_random_rotation2(obj, scn)

#
#
#

scn = bpy.context.scene
mission2(scn)

This code is now the subject of http://web.purplefrog.com/~thoth/blender/python-cookbook/animate-random-spin.html and the math behind it is explained at http://web.purplefrog.com/~thoth/blender/python-cookbook/narratives/animate-random-spin.html .

Here is an animation technique that relies on using a parent Empty to give the object a random orientation, but have it spin on a fixed axis:
import bpy
import random
from math import *

def random_in_circle():
    while True:
        x = random.random()*2-1
        y = random.random()*2-1
        l2 = x * x + y * y
        if (l2<=0):
            continue
        if (l2 <=1):
            return x,y

def random_quaternion():
    """
    http://mathworld.wolfram.com/HyperspherePointPicking.html
    """
    x,y = random_in_circle()
    z_,w_ = random_in_circle()

    r5 =sqrt( ( 1-x*x - y*y) / (z_*z_+w_*w_))

    z = z_ * r5
    w = w_ * r5

    return [x,y,z,w]

def random_rotation_speed_radians():
    return random.random() + 1

def rig_random_rotation(obj, scn):
    # make the object spin on its Z axis
    obj.rotation_euler = (0,0,0)
    obj.keyframe_insert(data_path='rotation_euler', frame=1)
    obj.rotation_euler = (0,0,random_rotation_speed_radians())
    obj.keyframe_insert(data_path='rotation_euler', frame=1+scn.render.fps)
    # rig the keyframes for linear interpolation and extrapolation so it keeps spinning for the duration of the animation
    for fc in obj.animation_data.action.fcurves:
        if fc.data_path == "rotation_euler":
            fc.extrapolation = 'LINEAR'
            for kp in fc.keyframe_points:
                kp.interpolation='LINEAR'

    # now we make the axis random by parenting the object to an Empty with a thoroughly random orientation
    parent = obj.parent
    if parent is None:
        parent = bpy.data.objects.new("rotation axis of %s"%obj.name, None)
        scn.objects.link(parent)
        obj.parent = parent
        parent.layers = [i==19 for i in range(len(parent.layers))]
    parent.rotation_mode = 'QUATERNION'
    parent.rotation_quaternion = random_quaternion()

    # there is probably a way to avoid the empty and
    # give the object a looping quaternion rotation on a random axis using sinusoidal easing,
    # but I'm a little too lazy to work out the math right this instant.

def mission1(scn):
    for obj in scn.objects:
        if obj.select:
            rig_random_rotation(obj, scn)

#
#
#

scn = bpy.context.scene
mission1(scn)

http://web.purplefrog.com/~thoth/blender/python-cookbook/animate-random-spin.html


text:
(geometry nodes) Is there a way to create a crossable decal system?
The idea is to create a decal system with intersections (crossing).
The problem is the overlapping profiles.

This is my approach, you draw a curve on a surface (intersection would be nice but for the sake of simplicity, the overlaps would only have to be at nodes).

Then you would have to outline the curve. The large distance is only for better clarity.

This is what it would look like with a curve profile.
This is what it should look like, just with adjusted corners.

The texture could be implemented either with normal maps or with bump maps (looks a bit washed out and could be better).

I’m just a geometry nodes beginner and it’s often beyond my horizon :).
Maybe these implementation ideas can help.
https://www.youtube.com/watch?v=KvCPQXQy-OY
https://www.youtube.com/watch?v=nSkCTGc0ZTc

Could you edit your post to include a question?

I have to agree with @DannyBeckett, here, please open with a simple statement of one  problem..  what you want, what you've got, what the difference is, and what you've tried.


text:
Script that add engrave text to bottom of dental 3d model
I working on python script that add text label on bottom of the dental 3d model of teeth+gums and strugling with some issues.
On input script has .stl files of 3d dental models (thay were previously created in special software). Bottom of this dental 3d models can has one or more cavities/impressions (this done for material economy during 3d printing). Script must determine the largest flat area

of the bottom of every model and place a engrave text on it. This text should be centered on previously mantioned largest flat area of the model. This text should not go out of borders of model (there should be some space between text and border of model). Size of this text should adjust size of this flat area. Output is also .stl files with 3d models.
Ideal output result:

As reference for how to realize it in blender I use this video: https://www.youtube.com/watch?v=lL7OBZ6AIVA - I use 3d model of text and apply Boolean Modifier with Diference mode to get engrave text.
Also I use ChatGPT and some of my superficial knowledge of Python.
Problems that I have:
1)I don't know how to automaticaly position text as on photo. In this code for a specific one model I play with rotation and delta rotation of the text, but I understand that there must be easier way to do it.
2)It not always detect arear that I want to have label on properly, sometimes it is on some other surface.

3)Depth of engrave is to small.

Here is a link for models that I use for testing: https://drive.google.com/file/d/1St-oi0KzBmv_pf4uqcc8CXOxGc3_7pB5/view?usp=sharing
Could, please, someone review this code and help with it?
P.S. Sorry for my bad english)
import bpy
import os

# Delete default cube
bpy.ops.object.select_all(action='DESELECT')
bpy.data.objects['Cube'].select_set(True)
bpy.ops.object.delete()

# Get the current directory
current_directory = os.getcwd()

# Create a directory to save the labeled models if it doesn't exist
labeled_directory = os.path.join(current_directory, 'Result')
os.makedirs(labeled_directory, exist_ok=True)

# Get all .stl files in the current directory
stl_files = [file for file in os.listdir(current_directory) if file.lower().endswith('.stl')]

for stl_file in stl_files:
    # Import the STL model
    bpy.ops.import_mesh.stl(filepath=os.path.join(current_directory, stl_file))

    # Get the imported object
    imported_obj = bpy.context.selected_objects[0]

    # Find the largest flat surface
    max_area = 0
    max_face = None

    for face in imported_obj.data.polygons:
        face_area = face.area

        if face_area > max_area:
            max_area = face_area
            max_face = face

    if max_face is not None:
        # Create a text object
        bpy.ops.object.text_add()
        text_obj = bpy.context.object
        text_obj.data.body = "Hello"

        # Set font size
        text_obj.data.size = 0.2

        # Change horizontal and vertical alignment to Center
        text_obj.data.align_x = 'CENTER'
        text_obj.data.align_y = 'CENTER'

        # Convert text field to mesh
        bpy.ops.object.convert(target='MESH')

        # Set origin to center of the text mesh
        bpy.ops.object.origin_set(type='ORIGIN_CENTER_OF_MASS', center='BOUNDS')

        # Rotate the text
        text_obj.rotation_euler = (0, -0.26, 0)

        # Rotate the text
        text_obj.delta_rotation_euler = (-1.86, -1.33, 0.2)

        # Add Solidify modifier to extrude the text
        bpy.ops.object.modifier_add(type='SOLIDIFY')
        solidify_modifier = text_obj.modifiers['Solidify']
        solidify_modifier.thickness = 0.3

        # Apply the Solidify modifier
        bpy.ops.object.modifier_apply(modifier=solidify_modifier.name)

        # Calculate the scale factor to fit the text mesh within the face
        text_dimensions = text_obj.dimensions
        max_face_dimensions = max_face.center - imported_obj.location

        scale_factor = min(max_face_dimensions.x / text_dimensions.x, max_face_dimensions.y / text_dimensions.y)
        text_obj.scale *= scale_factor

        # Calculate the position of the text mesh at the center of the face
        text_position = max_face.center + imported_obj.location
        text_obj.location = text_position

        # Apply boolean modifier to the imported object with difference operation
        bpy.ops.object.select_all(action='DESELECT')
        imported_obj.select_set(True)
        text_obj.select_set(True)
        bpy.context.view_layer.objects.active = imported_obj
        bpy.ops.object.modifier_add(type='BOOLEAN')
        bool_modifier = imported_obj.modifiers.new(name='Difference', type='BOOLEAN')
        bool_modifier.operation = 'DIFFERENCE'
        bool_modifier.object = text_obj

        # Apply the boolean modifier
        bpy.ops.object.modifier_apply(modifier=bool_modifier.name)

        # Delete the text object
        bpy.ops.object.select_all(action='DESELECT')
        text_obj.select_set(True)
        bpy.ops.object.delete()

        # Save the labeled model as STL
        labeled_file = os.path.join(labeled_directory, f"Labeled_{stl_file}")
        bpy.ops.export_mesh.stl(filepath=labeled_file)

    # Delete the imported object
    bpy.ops.object.select_all(action='DESELECT')
    imported_obj.select_set(True)
    bpy.ops.object.delete()

print("Script executed successfully!")

I have a solution that leads to the following result (margin of 0.1), only highlighted in red for better visibility:

Here is the code https://pastebin.com/qVxzmvnA.
There are some Parameters that can be adjusted to get better results.
Hints

A smaller margin will sometimes yield a better result. Margin of 0.03 from the above example
The console of blender should be shown to monitor the process.
 Which will look something like this:

How does it work

The polygon get imported with blender .stl import operator.
Since the polygon has many small faces, it joints all faces with a given angle into one big face. Using the decimate modifier of blender.
Then the largest area is retrieved. Since there are some coasting in the face. They will be cut off, and we get a good base to work with.
Now we can convert this 3d flat surface to a 2d polygon to ease the computation.
The largest interior rectangle with respect to the ratio is computed for different angles. Smaller angel steps will increase computing time because more rectangles have to be calculated. More on largest interior rectangle: here and here.
The best rectangle of all is chosen and converted back to 3d.
The text get moved, scaled, rotated inside the rectangle.
The text get engraved into the object using the boolean modifier of blender.
The finished result get exported with blender .stl export operator.


text:
The problem with the kinematics of ik is that the bone moves incorrectly in the animation

This photo shows how I moved the bone

And in this photo you can see what kind of animation turned out. Tell me how to fix this problem.

Hello and welcome. English is mandatory language for the site. If you are not comfortable writing in English feel free to use any online translation service.

Your IK constraint has no target designated.  This is not how you make IK.  You need to designate a target for the constraint.


text:
Weird line showed up on my donut

I was doing the donut tutorial and I got to using cycles engine and this weird line showed up on my icing. If I lower the subsurface down to 0, it become a blur instead of a line.
I think the line is the vertex edge, so I've tried scaling it, moving it, and deleting some of the extra vertices around it but sadly the line is still there.

Hard to tell. Looks like duplicate verts maybe? Select all in edit mode > M (merge) > By Distance.

I merged it but it said 0 vertices removed .  looking at the drip bit, it has extra vertices. The line is still there

Just a guess. Something like: at some point, you made an extrusion of the single-skin icing, and 'cancelled' it  with a right-click. This did  not wipe out the extrusion (that would have to be Ctrl-Z), but left it in place, 0-length. After Solidify, you have an internal face / doubled verts. H hide some faces, jiggle some verts around, look for the error manually.

Deleted all the extra vertices and it fixed the problem. Thanks for the help

Maybe you have an interior face around that area, cause it looks like it's also effecting the smoothing too.

If you hide some faces you can see the interior of your mesh, as you see you have inner faces, it creates bad shading as Blender shades between outer and inner faces, remove them:


text:
Triangles when baking normal
I usually don't bake normal maps often so I might be doing something completely wrong.
I want to bake the normals from a high poly mesh to low poly but I always get these triangles when I bake using 'selected to active' in the resulting normal map.
I've gone from a high poly mesh and simply made a new low poly by outlining/tracing the high poly with way less polygons. I have also separated the uv-island so no overlapping is done as I heard that could be a problem.
I've tried with diffrent ray distance settings
Is the distance to between the meshes to large?
Do the mesh has to bear more resemblens to the high poly?
Do the low poly mesh have to originate from the high poly in some way?
Does it matter if the low poly is underneath or over the high poly?
Any help would be appreciated

Your setup looks ok. Maybe your Hi-poly has duplicate faces or is non-manifold ? Does it works with 2.79 ?
"Is the distance to between the meshes to large?" > No
"Do the mesh has to bear more resemblens to the high poly?" > No
"Do the low poly mesh have to originate from the high poly in some way?" > No
"Does it matter if the low poly is underneath or over the high poly?" > the hi poly must be inward (below normals)

You are correct, I double checked the geometry of the high poly mesh and it was non-manifold and to be honest a total mess, it was imported straight from marvelous designer. Thank you

Problem solved.
If anyone has similar problems the problem is very likely due a non-manifold geometry with the Hi-poly mesh which can cause these artifacts.
The geometry of this Hi-poly mesh was non-manifold, contained duplicated vertices and was a topological nightmare on closer inspection.
By fixing the geometry I could bake the normal map without any problems.

Thanks! You're the real MVP


text:
image texture is not visible on object

I have problems with texturing the grey part of the calculator I have been working on recently. If I try to texture the same part of the model with an other picture it works perfectly well.
blender file:

the .blend file will be nice to check the things out but when looking on the pictures I decided to try to answer You because I could NOT comment (newbie here).
At least You are using two different textures and probably also the materials for Your model so keep in mind that if U using more than one for one UV mesh U have to ASSIGN the desired material with the desired faces!
On the image below there could be seen top face assigned to the BLUE material and the rest to the RED material. So if U have some faces assigned to the material which works and not the crucial ones to the material with that "texas instruments" texture it could be a problem.

...if this is not that case then please try to provide us Your .blend file here so we all could check it and write You a solution buddy.
Sincerely, Jan

I have added the blender file to the initial post. I have already assigned the faces to the new material. I assume that the texture image itself is the reason for the problem, considering the fact, that other texture images are visible fpr the same material.

Ok, let me check the file today and I will let U know (hope shortly)...

Lennart, PLZ include all textures into the .blend file!

I have added all used textures to the file.

So here is the image of the NODES with the final result...

...as U could see I add a new material with a new logo texture I made so feel free to check the scene file provided buddy ;).
Sincerely, Jan


text:
Boolean Difference Issue
So I am stumped here in creating a 3D model of my house and cutting the holes for the doors and windows in the exterior walls for the most part is working great. However 1 wall is giving me fits in that the hole is cut when looking from the outside (I turned door object off in the image to show the hole better); however looking from the inside that wall simply looks "pushed" in and is solid (not cutting inside face of wall)? Now the strange thing is that if I slide the entire door in the wall to the right of left the hole of course moves with the door and it cuts both faces as expected.
See images attached:

Couldn't add video so here is a screen capture of after I slide the door down the exact same wall and the hole is completely through both faces! I move it back where it belongs and interior face is filled into the cutting object but exterior face of the cutting object remains wireframe only as in original image #1???
Any thoughts?
TIA!
Cheers!
Rick...

https://blender.stackexchange.com/questions/34451/how-to-cut-holes-in-an-object-using-another-object/34460#34460

Thanks but this isn't helping the issue. As stated in my initial post I have all the settings correct with the "cutting" object. I am not sure why this particular "hole" only removes the exterior face as other windows and door (7 others) cut through both faces. If I start to slide this "hole" object either way in the way the hole magically completely cut through both faces? I'll try and edit my post with a video of this actually happening.

Problems with Boolean generally are caused by non-manifold geometry. There appear to exist problems with wall geometry and / or cutter object. For such simple object like wall it could be simpler to add 2 loopcuts in that place and fill in hole you don't need even with Ngons (if you don't subsurf the mesh). Or enter Edit mode for the wall and remove doubles, recalc normals, search for non-manifold and correct places with problems etc


text:
Rendering with Cycles has hot spots on glass surfaces
Rendering with Cycles has hot spots on glass surfaces. I'm using an HDR image to light scene and its labeled as 'high noon' so sun angle is straight down. I am wondering why I am getting a 'hot spot' reflection on all the glass surfaces? It really is strange because there really shouldn't be all of that reflection. I have played around with a lot of settings for bounce, etc. but obviously not changing the right settings because the adjustments do nothing to alleviate the render. I can look closely and tell it is the reflection of something distant but in real-world and looks terrible.
Not sure what happened as I did add screenshot with original post...here it is again.

TIA!
Cheers!
Rick...

I think you will be more likely to get a quality answer if you post a render showing your exact issue.

you probably forgot to remove the lamp... xD

I re-added screenshot not sure how it was removed from original message...


text:
How to align label with prop.search in a row?
I have this piece of code here:
 def draw(self, context):
        scn = context.scene
        layout = self.layout
        row = layout.row()
        row.label(text='Armature:', text_ctxt='', translate=True, icon='NONE', icon_value=0)
        row.label(text=bpy.context.active_object.name, text_ctxt='', translate=True, icon='NONE', icon_value=0)
        #col = layout.column()
        row = layout.row()
        row.prop_search(scn, "collection_for_assignment", bpy.data, "collections", text = "Collection")
        row = layout.row()
        row.operator(AssignObjectsToArmatureOperator.bl_idname, text="Assign objects", icon="BONE_DATA")

and the result is:

but i would like to have "objects and armature.002" aligned like so:

i tried "aligned=True" and different col/row combinations, but obviously i didn't understand how to use row/cols right.
--
i am very sorry if my arrow wasn't clear enough:
I want the name of the armature aligned to the next row (collection:objects) like this:

The simplest way would be to simply combine the 2 pieces of information into the same line:
row.label(text='Armature: ' + bpy.context.active_object.name, text_ctxt='', translate=True, icon='NONE', icon_value=0)
But that's no fun....
Using columns and adjusting their spacing factor is much more interesting...
 def draw(self, context):
        scn = context.scene
        layout = self.layout
        split = layout.split(factor=0.2)
        col_1 = split.column()
        col_2 = split.column()
        #row = layout.row()
        col_1.label(text='Armature:', text_ctxt='', translate=True, icon='NONE', icon_value=0)
        col_2.label(text=bpy.context.active_object.name, text_ctxt='', translate=True, icon='NONE', icon_value=0)
        #col = layout.column()
        row = layout.row()
        row.prop_search(scn, "collection_for_assignment", bpy.data, "collections", text = "Collection")
        row = layout.row()
        row.operator(AssignObjectsToArmatureOperator.bl_idname, text="Assign objects", icon="BONE_DATA")

The issue with this approach is that they keep a distance ratio between them, meaning that as the panel is resized the gap between them will also resize keeping the factor.
To keep the 2 together I'd use the first approach, it also has the benefit of simpler code.
EDIT
As the prop_search item doesn't seem to have the ability to set the distance between it's text and it's data, I'm not sure that  what you want is possible (might be, but I can't find a way)
Using the layout.split(factor=0.24) method above might be your only option here. I found a factor or 0.24 gave a fairly good result. It does change as the panel grows but so does the data box in the prop_search so they stay very close.

Hi Psyonic, thank you very much for your time and your answer. I am sorry that my question was misleading. I improved my question and i hope it is clearer now.

I noticed that just after I posted my answer, I'll update it

thank you for the update


text:
how to keyframe "animated" of rigid bodies to multiple objects
Is there any "trick" to how I can set keyframes for "animated" for a rigid body for multiple objects?
I know, "normally" you can select multiple objects and set press "I" -> location and it works. Unfortunately not for animated.
I cannot use "link animation data" because they are all at different locations and of course, I don't want them to be at the same location.
my scene looks like this:

so i have a lot of balls "animated" so that they get a starting speed in y-direction. Then i set animated off so that rigid body simulation starts. Then the react with the springs on the ground.

Uh... What do you mean? You could just press I while hovering over the animated checkbox?

nope, it just sets the keyframe for ONE object, not for multiple

So why not just select those objects and link animation data?

because they are at different locations, but i don't want them to be on the same location

Maybe parent your objects to an empty? Then you can link the animation data

@moonboots : I am not sure how I could do that? Won’t it copy the location animation data as well?

sure it won't work if you've keyframed the location of the first object, but could you please show exactly the whole scene and animation you're trying to achieve?

maybe this is python work...

so instead of animating the balls at the beginning, why not parenting all to an empty and then animate the empty only? For the balls you only need to create an action that will be Animated on and off?

great, works, thank you! wanna write an answer?

Instead of animating the balls at the beginning, parent them all to an empty then animate the empty only. For the balls, you only need to create an action that will be the Animated option on and off: Do it for one ball, select all the other balls, make the first one active, then CtrlL > Link Animation Data.


text:
How do I align my grid to background footage?
I have a background-image set up and now I want to align my grid to it?
How do I do it. I remember watching a video where I could simply rotate it like an object?

Does this help?

@poor not really since I have arachnaphoby :D besides that, I want to reset the origin.. (maybe this is explaining it a little better) by rotating and dragging arround my default grid

Did you add it as a background image in the 3D view, or as an empty or plane?

@David as a background image in the 3D View


text:
how do I bake bone rotations driven by a bone constraint?
I am just working on a webGL project. Therefore I animated a train in Blender using a bone constraint to make the train follow a bezier curve. I also want to make the bones I created for the wheels to rotate dependent on
the "follow Path" offset_factor.
This works pretty well so far, but in order to make this work in webGL i want to bake my animations.
So, if I bake the animation the train follows the path perfectly, but the driven bone rotation for the wheels is missing. Propapbly, because the constraint "Follow Path" isn't present anymore.
My question is: Is there a way to bake driven properties to animations? And how do I do that?
Thanks in advance!


text:
Freezing a physics simulation and use a certain frame to go on with modelling
I am just modelling a small cup that I want to fill with sugar cubes. To make it look more realistic, I want to let the cubes drop into the cup. I have already physics enabled and the right collisions but I am just wondering how to freeze a single frame to take it as my initial frame. Everytime I switch back to the first frame, I lose my keyframe and the cubes are over the cup again.
I guess the answer is pretty easy but I couldn't find it in the manual yet.

I think you mean the 'Apply transformation' button in the physics tab in the toolbar of 3D view? :)

@FacebFaceb yep, that was what I was looking for. I just noticed I have different physics options when I change my Render Engine. How does it affect my Simulation?
Also there is a difference in the simulation if I hit "p" or "play" on the timeline in the blender game engine. Do you know why?

When you press the play button on the timeline, then the simulation is quite the same in all engines. But it makes a difference when you press 'p' in bge, because the settings are different (such as the damping, bounciness and friction), if I'm correct

authors: Сергей Романов


text:
How do I lock multiple bones location in Pose Mode?
I just am just working on a model with a loot of bones. Now I want to lock the bones location of multiple Bones at once. How could I do that?
Thanks in Advance.

You could

add in pose mode a bone location constraint to one of those bones,
then deselect that bone,
select all the others you need to have the same constraint
only then select also the bone with the constraint (it must be the last selected - ie it must be the active one)
then press the spacebar to bring the search menu and search "copy constraint", and then select "copy constraints to selected BONES" (there is another entry for copying to selected objects, you don't need objects but bones, obviously).

thank you, I wil also give it a shot as soon as possible

With the armature selected and in pose mode this will set the location lock for every bone. You may also want to lock the rotation by setting lock_rotation
import bpy
for b in bpy.context.active_object.pose.bones:
    b.lock_location[0] = True # x
    b.lock_location[1] = True # y
    b.lock_location[2] = True # z

If you want to do it using a preset list of bone names -
bone_list = ['upper_arm.L','upper_arm.R','thigh.L','thigh.R']
for bn in bone_list:
    bone = bpy.context.active_object.pose.bones[bn]
    bone.lock_location[0] = True # x
    bone.lock_location[1] = True # y
    bone.lock_location[2] = True # z

sounds good, I will try it out as soon as possible


text:
Textures sometimes become suddenly black or white
Sometimes the textures of the character that I’m creating suddenly become black or white,even if :

the method to display/shade object in the 3d view = material
properties / object / display / maximum draw type = textured
properties / object / display / object color = white
render = cycles
if method to display/shade object in the 3d view = texture => the
textures are grey
if method to display/shade object in the 3d view = rendered => they
work correctly

Here you can find the blender file of the character that I’m working with.
This is how it appears :

I open the file and couldn't replicate your problem, maybe you are viewing the output of a specific node instead of the entire tree?

I have opened another blender session with the same file and it works...but it does not work on the first blender session. I don't know why. what do you mean with "maybe you are viewing the output of a specific node instead of the entire tree" ? what should I do ?

Maybe double check the node editor(bottom window) to see if the output node is attached to the one you wanted. But since I cant replicate the problem, I dont know what is the issue, sry.

Are the lamps on another layer? You could have suddenly deselected the layer for the lighting, I know, because I have.

It’s happened again. This time I can give more details. The textures became translucent dark gray after that I have separated the eyelash from the rest of the body. And I’m not selecting any material on the node editor…when I click on “human_mblab_skin_diffuse” or on “human_mblab_skin_disp” node on the node editor nothing happens. The textures are again translucent dark gray.

I created a post also here : https://blenderartists.org/t/textures-sometimes-become-suddenly-black-or-white/1119799/5


text:
Image rendered well in eevee but not in cycles
I've just created a character and I've rendered the image in cycles and in Eevee. Point is that with EEvee I don't see any problem,but with Cycles I see that the face let see what's inside the mouth,that's the teeth. Also I see an odd gray coloring at the cheeks. Can u give a look at the pictures below ? thanks.
This is how looks the image rendered with cycles :

this is eevee :

Might be the shader, might be overlapping geometry, hard to say based on the provided images...

can I provide some information to help to identify the problem ? maybe u can give a look at the shaders of the face and the teeth,here ? ---> https://drive.google.com/open?id=10IXmyjtizj78d_aSOIaRknHHwRigDl5L

how can be the overlapping geometry ? if there is,it should be visibile also when I render the image in eevee.

Without the file it's hard to guess what's wrong actually. One thing you can try is removing the texture which is plugged into the alpha socket. Also Body Reflection as well as Skin Body Diffuse.001 should not be set to non-color data. Start with the base color only, see whether that works and test all other images step by step...

I tried to follow your directions,but I haven't been able to fix the error. Can u give a look at the file here ? https://drive.google.com/open?id=1FnCdNt_FvzOSq7Cz8ZRU77sQmFt2dR3Z

Yep, it's caused by the texture plugged into the alpha socket of the principled shader (std_skin_head material): https://i.sstatic.net/ZAhuP.png It probably gets ignored in eevee, not sure.

I did the same as you did,but I get a different result,like this : https://imgur.com/bcYMIlz ; worst than your.

You are still watching the result of the material preview. Switch to render preview and judge from there (Click on the ball icon on the top right of the 3d viewport)...

like this ? : https://imgur.com/KL2A56f ; it seems not good


text:
Blender 2.8 - Modal Operator: How to change modifier settings?
I am trying to change a the "ratio" within a "decimate" modifier with a modal operator, but cannot get the value to update (my guess is I am not passing the right value?)
import bpy, bmesh

class OBJECT_OT_make_proxy(bpy.types.Operator):
    bl_idname = "object.make_proxy"
    bl_label = "mProxy"

    flt_ratio: bpy.props.FloatProperty(default = 0.25, min = 0, max = 1)

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

    def execute(self, context):
        #TODO: handle the folder selection, saving and relinking here
        return {'FINISHED'}

    def modal(self, context, event):
        bpy.context.object.modifiers["Decimate"].ratio = self.flt_ratio
        return {'RUNNING_MODAL'}

    def invoke(self, context, event):
        #### add modifier ################################
        bpy.ops.object.modifier_add(type='DECIMATE')

        #self.flt_ratio = 0.25 <- commented this out, because it already has a default value
        bpy.context.window_manager.modal_handler_add(self)
        bpy.context.window_manager.invoke_props_dialog(self)
        return {'RUNNING_MODAL'}

classes = (
    OBJECT_OT_make_proxy,
    )

register, unregister = bpy.utils.register_classes_factory(classes)

if __name__ == "__main__":
    register()

Could somebody please show me what I am doing wrong?

Also OBJECT_OT_object_make_proxy sounds a bit similar to Display Port port of a display... It's generally a good idea to keep names short and logical.

I was trying to follow your other answer here:
https://blender.stackexchange.com/questions/124095/what-do-new-bpy-class-naming-conventions-in-blender-2-80-actually-mean
Guess I need to revisit it, as I obviously did not get it right. I am sorry, there is so much information to put into my little brain from so many sides, at times its a little overwhelming.

Sorry, it's not a big deal. I might sound picky. I am just thinking about how it gets out of control with long lines quite fast. I think repeating is not needed. OBJECT_OT_ already means it's an operator in object category. If you think about it, you read the code a lot more than you write it so it should be easy to read and it's easier to read if it's only what is needed, but not more. The way I understand it operator class OBJECT_OT_some_tool with bl_idname object.some_tool still follows the conventions.

You are using FloatProperty, although you only imported StringProperty. You can use it as bpy.props.FloatProperty, or you can import it by adding it to the import from bpy.props import StringProperty, FloatProperty. You will need to define how it is controlled during the modal operation inside invoke as well. See the examples in the Templates menu in the Text Editor's Header.
You could open the example of the modal operator from the Templates menu in the Text Editor's header and then just modify it with what you need carefully checking that you don't break it. I would suggest using some event like mouse move or mouse wheel to control the variables, because you will have a floating panel at the bottom of the 3d view with the value after the operation anyway if you define bl_options = {'REGISTER', 'UNDO'} that is the usual Blender's behavior - adjusting with mouse on the fly and then having that last operator's history panel.
It would be something like this:
import bpy
C = bpy.context

class OBJECT_OT_make_proxy(bpy.types.Operator):
    """Saves the world from war and hunger"""
    bl_idname = "object.make_proxy"
    bl_label = "mProxy"
    bl_options = {'REGISTER', 'UNDO'}

    ratio: bpy.props.FloatProperty( name = "Decimate Ratio",
                                    description = "Does something",
                                    default = 0.25,
                                    min = 0, max = 1
                                  )
    @classmethod
    def poll(cls, context):
        return context.object is not None
    def execute(self, context): #This is apparently needed for the history panel to work
        if "mProxyDecimate" not in C.object.modifiers:
            bpy.ops.object.modifier_add(type='DECIMATE')
            C.object.modifiers[len(C.object.modifiers)-1].name = 'mProxyDecimate'
        C.object.modifiers["mProxyDecimate"].ratio = self.ratio
        return {'FINISHED'}

    def modal(self, context, event):

        if event.type == 'WHEELUPMOUSE':
            self.ratio += 0.02
            C.object.modifiers["mProxyDecimate"].ratio = self.ratio
        elif event.type == 'WHEELDOWNMOUSE':
            self.ratio -= 0.02
            C.object.modifiers["mProxyDecimate"].ratio = self.ratio
        elif event.type == 'LEFTMOUSE': #You need to be able to confirm it
            return {'FINISHED'}
        elif event.type in {'RIGHTMOUSE', 'ESC'}: #..and also to get out of it
            bpy.ops.object.modifier_remove(modifier="mProxyDecimate")
            return {'CANCELLED'}

        return {'RUNNING_MODAL'}

    def invoke(self, context, event):
        if context.object:
            if "mProxyDecimate" not in C.object.modifiers:
                bpy.ops.object.modifier_add(type='DECIMATE')
                C.object.modifiers[len(C.object.modifiers)-1].name = 'mProxyDecimate'
            C.object.modifiers["mProxyDecimate"].ratio = self.ratio
            context.window_manager.modal_handler_add(self)
            return {'RUNNING_MODAL'}
        else:
            self.report({'WARNING'}, "No active object, could not finish")
            return {'CANCELLED'}

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

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

if __name__ == "__main__":
    register()

The FloatProperty thing was a copy and paste error, as this is only a smaller part of a bigger script. I edited that out, sorry for the confusion!
The invoke part is what I was after, I believe. I did try to decipher the templates and now that you pointed at it, I see that I missed it. Will now try to actually understand that part, thanks!

I think you will want some event to control your FloatProperty and/or other variables.

I updated the first post with what I came up with, however, it does not behave as expected. The value only gets updated when I double click inside of my popup and exiting from the popup crashes Blender (either through clicking outside of it or "okay" and by using the escape key)

Okay, edited again, now I can set the modifier, but exiting out of the modal operator still makes Blender crash...

I think it's better to just modify the example until you make what you need from it while constantly checking if it still works. I added an example to my answer.

By the way, I had no idea it's possible to use ':' like that in Python before this. That looks so weird to me... Never knew it was type assignment. :)

Sry for the silence, tried hard, but cant get it to work.
Modal operators seem not to work together with pop ups...
It just keeps crashing.
I understand your idea, but unfortunately it just does not do it for me. The meshes could be very highpoly, so making it react to the mouse coordinates could become laggy. I want to write the percentage into a slider module, so that for example if you go from 100 to 25 you do not need to scroll through 75 different versions. I am now giving Jayanam's UI widgets a go. Dont like the idea to rely on a blender external solution, but hopefully it works!


text:
How to color vertices of cube
I am trying to color the vertex points of a octahedron and want to have control over how they blend into each other.
I am using a mapping node but am not able to achieve the desired result.
The image below shows the desired effect, however it was created with lights.

To have something similar to bottom pic requires much densier mesh then default cube.

Maybe use a shader, mapping object-space XYZ to RGB as suggested here?

The effect you want is nearly what is shown in the answer below (as the final result may depend on world global light intensity). Or a variation on it or using object texture coordinates as suggested by @RobinBetts. So what do you expect exactly, and in particular about "controlling" the colors?

It seems like your UV mapping is off; using a similar setup and a default cube, I'm getting this result:

You can also achieve what you're trying to do using vertex colors:

Also see: How can vertex paint be rendered?

hey bryan: what do you mean with my UV mapping is off? And how do I fix it?