问题是用 gui.remember() 记住嵌套对象

Problem remember a nested object with gui.remember()

我有一个这样的嵌套对象:

var config = {
  a: 1,
  b: {
    c: 2,
    d: 3
  }
}

我在 dat.gui 实例中使用:

var gui = new dat.GUI();
gui.remember( config );

gui.add( config, 'a' );
gui.add( config.b, 'c' );
gui.add( config.b, 'd' );

dat.gui 实例仅记住 config.a(请参阅现场演示:https://jsfiddle.net/rvcristiand/cz08tLmr/4/)。

查看要在 localstorage 中复制的参数,我发现仅跟踪 a 值:

{
  "preset": "Default",
  "remembered": {
    "Default": {
      "0": {
        "a": 9.9
      }
    }
  },
  "closed": false,
  "folders": {}
}

当我打印出 gui.getSaveObject() 时我发现了同样的情况(我认为 pop windows 中显示的参数是用这个函数生成的)。

那么,有一种方法可以记住所有对象的值吗?

谢谢。

似乎不​​支持嵌套属性,但你可以记住多个配置。

gui.remember( config );
gui.remember( config.b );

gui.add( config, 'a' );
gui.add( config.b, 'c' );
gui.add( config.b, 'd' );