Skip to content

Physics Interpolation is in conflict with MultiMesh (3D) #108058

@Soydab

Description

@Soydab

Tested versions

  • Reproducible in: 4.5.beta1
  • Reproducible in: 4.4 and 4.4.1

System information

Godot v4.4.1.stable - Windows 11 (build 26100) - Multi-window, 1 monitor - Vulkan (Forward+) - dedicated NVIDIA GeForce RTX 5080 (NVIDIA; 32.0.15.7680) - AMD Ryzen 7 9800X3D 8-Core Processor (16 threads)

Issue description

When we tried to migrate our project from Godot 4.3 to Godot 4.4.1 we encountered issues with all of our MultiMeshInstance3D. When we want to interact with the MultiMesh (set_instance_transform) to change the position/rotation/scale the instances of the MultiMesh act weirdly. For example, we have a terrain (plane mesh) with grass on it, when we tried to modify one of the instance (one piece of grass), nothing happened (in the _ready func) or the instance got modified but all the others instances Transform3D were set to 0 (in the _process func).
We added comments in the script to explain.

It's working with the same context in Godot 4.3.
If like us you have this problem, you can disable Physics Interpolation in the Node property of the MultiMeshInstance3D (Inherit to Off) or in the project settings (globally) while waiting for a fix.

Example in 4.3 :

Image

Example in 4.4.1 (_ready func):

Image

Example in 4.4.1 (_process func):

Image

Steps to reproduce

  • Enable Physics Interpolation in your project settings
  • Create a scene with a plane (MeshInstance3D), a Camera3D, Light, Environment
  • Add a cube (MeshInstance3D) with a particular color
  • Add a MultiMeshInstance3D
  • Populate the plane with the cube as the mesh (amount of instances set to 15 in our tests)
  • Try to use set_instance_transform in the _ready or _process (or use our examples projects/scripts) on few instances (if you set the amount to 15, try instance 1/9/12 for example)

Minimal reproduction project (MRP)

bugmultimesh_4_3.zip
bugmultimesh_4_4.zip

In the projects you will find :

  • a script with the use case : test.gd
  • a scene with the MultiMeshInstance3D (with all you need to reproduce the problem) : terrain.tscn

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    Status

    Bad

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions