Hello! I'm working on a project in Godot 4.3 and I'm having issues with one of my Scenes.

My Scene looks like this:

This Scene was created by making a new inherited scene from a .blend file and then adding a few more components as children of the root after. The only thing I'm trying to do is setting the position.x of the Node3D "mesh_container" from 0.125 to 0, this is how it looks after I changed and saved it:

Sounds very easy, however it just doesn't save properly. When I restart Godot, the position is reset to 0.125. After restart:

The scene is also used as a component in another scene with editable children set to "true":

Inside that scene, the position of the "mesh_container" object looks like this, which contradicts the original scene because 0.125 is not the default value in the original scene, however I cannot reset it. I'm using the same scene structure with the same ways to create them from .blend multiple times and I do not have issues with any of the other scenes.

Things I already tried:

  • change the position of the "mesh_container" node in VSCode in the .tscn file -> doesn't work, resets itself
  • completely delete both the scenes I mentioned here and re-build them from scratch (same names) -> doesn't work, same issue appears in the freshly created scenes

Does anyone have a clue what's happening here? That looks like a Godot bug to me, or maybe an issue with the blend file?

Does it work properly if you set the position in the _ready() function of a script attached to the mesh_container node?

    DaveTheCoder

    I can change the position manually via code or remote inspector. The issue is just with the scene not saving properly.

    what version - blender godot, OS?

    If you inherit scene from blender, and not make local then on the blender objects the properties will reset afaik, you feel me?

    The yello meshcontainer, every time you save or soemthing, it imports it from blender or something thats why it resets.

    You either need to move (position) the whole scene (root node) from outside node, or make local the objects, but when you make local then they wont sync up with blender no more.

      kuligs2

      Blender 4.1
      Godot 4.3

      The scene with the root node "3DMesh+Collider" is inherited from a .blend file. Then it is saved and used as a child node (not made local) in another scene. So technically both scenes should have the same values for the position of my mesh_container node, but for some reason they're different. In my original scene the default for the position.x is 0, in my second scene that uses that original scene as a child node without any changes, the default for the position of the "mesh_container" node (as soon as I make children editable to be able to check that) is 0.125, as described / shown in the screenshots 2+3.

      So even if it resets my saved value in the yellow mesh_container node due to the source blend file, shouldn't it still be the same value then for both my scenes?

      I can't really make my scene lokal because I want it to keep the inheritance in case I have changes to the .blend file.

        ync_emergo I can't really make my scene lokal because I want it to keep the inheritance in case I have changes to the .blend file.

        but then you want make changes in the mesh position in the scene??

        My brain cant wrap around too many words... maybe make a video? demonstrating whats going on? You can use streamable to upload videos or other services.. idk...

        Maybe you moved something and forgot about..

        xyz

        the issue is not even reproducable in the same project. I have the same scene structure with several scenes that inherit from a blend file and the issue only appears for one scene.

        • xyz replied to this.

          video showcase:
          explanation for the video:

          The scene "seat_1" is used in the scene "seat_1_prefab" as one of the child nodes of its root. As seen in the video, the default position and rotation of the "mesh_container" node differ in both scenes, although they originate from the same scene. As shown, when I change another value, e.g. the scale of the transform, it is adjusted in both scenes accordingly and at the same time. only the values for rotation and position differ.

          Precice explanation of the bug (i think it is one) in my earlier posts here.

          • xyz replied to this.

            ync_emergo

            • Duplicate the project
            • Duplicate the blender file
            • Remove everything except offending node from the blender file
            • Export
            • Remove everything except two offending scenes from the project
            • If the cause of the problem hasn't become apparent - post the project

            I changed this to the help tags. 👍

            Unfortunately I cannot share the entire project here. I tried to create a new project and copy the corresponding scene and blend files over to the new project, however I was not able to reproduce the issue in the new project.

            For now, we're just using a work around. Thanks for your help 🙂

            • xyz replied to this.

              ync_emergo Unfortunately I cannot share the entire project here.

              If you strip it down to contain only the problem, why not?

              I actually found the issue now. The animation player somehow resets my position automatically on scene load. If i disable the animation player or remove it, the issue stops.

              I made another video for an easier visual representation of the issue:

              I'm not familiar enough with animation players to tell if this is intended or a bug, however it is certainly very confusing, imo.

              • xyz replied to this.

                ync_emergo Animation player is probably trying to animate that property.