Hi, @scrubs I did what you said and used mm. But the problem arises when trying to incorporate high speed physics sims sometimes in that the bricks are so large that I keep hitting the maximum speed ceiling for blaster fires for example. If you use the mecabricks size and create a default cube, you can see how big the mecabrick objects are compared to what it "supposed to be" on Blender regular mesh scales. Regardless of unit used. (recall that units are meaningless, as blender never used them before the updates)
Units shall not be meaningless. If this is the case please lodge a bug report at Blender. I know that Blender is more an artist oriented software than an engineering one (I am a mechanical engineer) but it shall still be able to adapt to the units set for the scene. There is no such thing as too large or too small. Everything is relative. If when you measure the edge of a 1x1 Brick in Blender it gives you 8mm then it means that your units are set properly. Blender shall then internally use this factor to adapt the physics calculation. This is the whole purpose of having a unit system. Again if it doesn’t, you shall lodge a bug to make Blender better.
Hi, @scrubs. You are correct that the units are correct. It's the size of the object that's the problem. At any units, the mecabricks importer imports an object at too large a size that, for example, if you run a physics sim to simulate a blaster fire/laser blast, you need to max out the physics force/speed and that limits the speed of the blaster fire, that you can't fire at proper speed over long distances. This is not a blender bug, but the objects imported are simply too large for a proper blender scene as designed.
You can compare the size of the default cube to an imported mecabricks brick to reproduce the mecabricks size bug.
What do you mean by object is too large? If the dimensions of the object - in this case a 1x1 brick - is correct in Blender (8x8x9.6mm) then it is not too large.
Physics simulations are based on real life units. E.g mass in kg, speed in m/s etc. So again that is an issue with Blender if the scene scaling factor is not applied to simulation parameters.
Hi @scrubs. The scene scaling factor is indeed applied in blender, thus the problem with physics simulation. if 1x1 brick is 8x8x9.6mm, 10 of those bricks would be x10. It would be the same if you use m, that is the bricks would be 8x8x9.6m.
The units doesn't matter to blender. They only added the units as an aid.
However, bricks imported by mecabricks are so large that they hit the ceiling for a lot of blender functions, one significant one being aforementioned the physics simulation.
@feaureau: Hello, I'm intersted in this proble too. I think it's an blender problem. You are right, blender uses the units only for scaling. My simple test: 1.: importing a zmbx with the mecabricks template, the size is correct. But think, the physics are not scaling down.
2.: open an new blender file and don't touch the scaling, it's now on 'meter'. Appen the LEGO-part from 1.). Now the size of the Part is not 8x8mm, it's 8x8 meter.
I think the result is: Blender uses units only for scaling the geometry. You get the same problems if you switch between the metric and imperial systems.
Can you try a workaround and report the results? Import the zmbx into the mecabricks template and save the .blend file. Open a new blend file an append the LEGO collection from the fist file. Scale all down 1000 and apply all transformations. I don't know where the scaling is used too. I think the bevel shader use the scaling also, check them please.
Good luck (I hope you can understand my bad english)
@Satriani That is what I try to explain to feureau but I may not convey my point correctly 😉
To his defense, Blender is still very bad at handling units and it appears that the physics simulation parameters happily ignore the scene units. Mecabricks materials include a scale value that you can change manually however I do not guarantee the output if the value is different from 1 and you scaled/applied the scale to your objects.
@Scrubs The max speed for a particle is 200m/s. Changing unit scale does not effect this at all. The speed relative to the size of the model is the same. I wish it didn't work this way, but I have yet to find a good work around other thank scaling down the models (which messes up the materials). Other physics simulations (like rigidbody and fluid sim) seem to work fine, this is only an issue for particles.
I am using Mecabricks to create Star Wars animations and 200m/s looks incredibly slow compared to the size of the models and thus I have to add lasers in post production which takes far more time and energy. A simple fix for this would be a global scale option when importing Mecabricks models so I don't have to manually change the scale of all the materials.
What LFPAnimations said
I don't know what the Blender foundation intend to do to fix that. There is (was?) the same issue with the DoF which parameters didn't scale. They still have a lot of work on this side.
I may provide a slider in the future but I will have to make very clear that it is an experimental and unsupported feature.
@Scrubs The easiest way to fix it would be to just import the models at proper scale. Currently they are not importing 1:1 as you have to set the unit scaling to .001 in order to make them work. If you simply change the size at which they import and adjust materials accordingly it would fix this problem. I do this process manually on every shot with particles (it is a pain to do manually).
I am not a coder, but if it isn't too hard of a fix to make I would appreciate it a lot as it would save me a bunch of time.
Let's close this discussion about units. I will not scale down the model to 0.001. Mecabricks units are millimeters, end of the story. 3D software shall be able to handle units correctly which all of them on the market do except Blender.
However, I would provide a field in the Mecabricks panel to scale all MB materials at once to the desired value. Up to the user to scale down the objects in the scene but as mentioned above I will not provide support if this value is different from 1.
Ok I appreciate the compromise here. I understand this probably doesn't effect a lot of your users, but even just having the field in the panel to scale all materials will help us animators out a bunch. Thank you!
That would be great, thanks, @scrubs.
Please make it so that the value can be set along with scaling by default. (that is, to automatically import at preset scale for mesh and material)
Thanks again.
Hi @scrubs, I think this is a very noob question but I recently bought the advanced add-on and I want to know how to make a transparent object have lighting like fire in The Lego Movie or The Lego Batman Movie.
Thanks in advance.
@Ericbricks14 you can use the volume emission input of transparent materials in the node editor. However I generally keep it at a low value and use a real light located inside the mesh. It is much more realistic. You can also add a glowing effect on post processing.
@scrubs Thanks!
@Scrubs, does the Mecabricks Advanced plugin work on a Mac? (And on Blender 2.92?)
@BlackSpiderMan15 yes. I actually develop it on Mac.
Thanks!
LEGO, le logo LEGO, la minifigurine et les configurations des briques et tenons sont des marques déposées de LEGO Group of Companies. ©2024 The LEGO Group.
Mecabricks, le logo Mecabricks et tout le contenu non couvert par les droits d'auteur du groupe LEGO sont, sauf indication contraire, ©2011-2024 Mecabricks.