2
$\begingroup$

I have an extremely specific issue, I'm trying to import my blender environments into a virtual reality game, Beat Saber. But the program made for beat saber can't handle mesh deformations. This means everything is placed as a cube from the same scale and rotation as in the transform window of the mesh. I've found a partial workaround by separating every face from a mesh, by splitting every face and then separating by loose parts. But here comes the problem, all the separate parts share the same location rotation and scale values, I fixed the location error by selecting all the separated faces and putting origin to geometry. But the rotation and scale are still the same for every single face. So due to the rule that, apart from scaling and rotation, every mesh gets converted to cubes in Beat Saber. The converter turns every single face into a square the size of the whole mesh before separating and with the rotation of the beginning mesh (as seen in the two images added below, above is the input and below what it gets turned into in Beat Saber).

enter image description hereenter image description here

This spawns my question, even though it wouldn't be perfect, is there a way that the faces after separating get the scale and rotation calculated based on the scale of the default cube and global rotation? So that every face gets a rotation and scale which is roughly equal to the average of the 4 points. Even though mesh deformations aren't possible which would make non-rectangular faces, rectangular. So basically can I turn every face into a rotated, positioned and scaled default cube? (preferably not with a thickness scale of 0 but like 0.01, as a scale of 0 messes with rendering). (Oh and the ball was just as a reference for what happens to the mesh while converting, I'm trying to put a mountains environment into Beat Saber)

$\endgroup$

2 Answers 2

2
$\begingroup$
  1. Add a cube as a children of your object.
  2. Go to the Object properties panel, and add instances by faces to your object. (You can tweak with the cube's transform.)
  3. Choose Object>>Apply>>Make Instances Real

Now you have cubes on every face of your base mesh. Those transforms are based on the face's normals, location and size.

enter image description here

$\endgroup$
2
  • $\begingroup$ Thx for the reply, you've brought me way further than I was, but do you maybe know why it isn't working in the image below? I'm running a subdivided plane through a displace modifier, but my instances are not rotated like the faces are. imgur.com/a/HtN3LTX $\endgroup$
    – Romen
    May 2, 2022 at 20:22
  • 1
    $\begingroup$ oh, nvm I didn't apply scale of the square thank's so much for your reply, I marked it as the correct answer $\endgroup$
    – Romen
    May 2, 2022 at 21:54
0
$\begingroup$

If I understood correctly )

  1. add the desired object
  2. Add the Edge Split modifier to it (it divides the faces of the object into separate parts). Split Angle can be adjusted to the desired angle before triggering.
  3. Add the Solidify modifier to control the projection of the geometry beyond the boundaries of the object
  4. Bevel to taste)

It 's quite simple: https://www.youtube.com/watch?v=LJ8OFebl6Ko

enter image description here

enter image description here

$\endgroup$
1
  • $\begingroup$ Thanks for the posts. This is not a regular forum, according to site rules links to answers are not answers if the link goes missing your answer becomes an empty shell without content. Answers should be substantial and stand on their own without relying on external data like links, videos or images. Instead of having users go through external links, either transcribe essential parts of the process here, linking the source, or posts these in the comments section instead. $\endgroup$ Jun 2, 2022 at 11:20

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .