godotengine / godot

Godot Engine – Multi-platform 2D and 3D game engine
https://godotengine.org
MIT License
91.14k stars 21.19k forks source link

MultiMeshInstance3D editor plugin always applies rotation, even if set to zero #80246

Open vysker opened 1 year ago

vysker commented 1 year ago

Godot version

v4.1.1.stable.official [bd6af8e0e]

System information

Godot v4.1.1.stable - Manjaro Linux #1 SMP PREEMPT_DYNAMIC Tue Jul 25 09:30:58 UTC 2023 - Vulkan (Forward+) - integrated AMD Radeon Graphics (RADV RENOIR) () - AMD Ryzen 7 4800U with Radeon Graphics (16 Threads)

Issue description

Current behaviour When using the MultiMeshInstance3D "Populate Surface" editor plugin, instances always get a rotation applied to them, even if the "random rotation" slider is dragged all the way to the left.

There should be no rotation here, but as you can see, there is. multi-mesh-rotation-bug

Expected behaviour Apply no/zero rotation if the slider is all the way to the left.

Use case I want to use a multimesh to place lots of Z-facing quad meshes to render flat, swaying grass. I know I can billboard them, but that's besides the point, and ultimately not the look I want.

Steps to reproduce

  1. Create 3D scene
  2. Add MeshInstance3D with PlaneMesh (set to 32x32m), rename to "TerrainMesh"
  3. Add MeshInstance3D with QuadMesh, rename to "QuadMesh"
  4. Add MultiMeshInstance3D
  5. Select MultiMeshInstance3D
  6. Click "Populate Surface"
  7. Set "Source Mesh" to "QuadMesh"
  8. Set "Target Mesh" to "TerrainMesh"
  9. Click the "Populate" button

Minimal reproduction project

multimesh_rotation_bug.zip

Midrule commented 10 months ago

Bummer the fix was delayed as there doesn't seem to be a way around this currently

Preston-Harrison commented 10 months ago

+1 on this issue, lost a few hours on it.