0

我有一个场景在多个模型中显示一个对象。每个模型都以可变状态显示对象。有一个滑块可以在多个模型之间切换。我的问题是当用户旋转视图并更改为另一个模型时,旋转将丢失并且新模型显示在初始相机/视口位置。因此 - 我如何强制新模型上的当前相机转换?

$("#slider").change(function(){
  var i = $('#slider')[0].value;
  myscene.models = new Array();
  myscene.add(mymodels[i]);
  myscene.defineBuffers(mymodels[i]);
  myscene.render();
});

谢谢, EL

4

2 回答 2

1

不是叫 PhiloGL 吗?请分享代码以供审核 - 您如何共享、存储和恢复状态。在 WebGL 中,您需要显式地存储/恢复转换。

于 2014-02-25T09:08:32.793 回答
0

我认为您需要的是更新新模型的转换,试试这个:

var copyTransformations = function (target, src) {
    target.position = src.position;
    target.scale = src.scale;
    target.rotation = src.rotation;
    target.update(); // if you call the update for the target model in another place, but before the render will work to
};

copyTransformations(newModel, oldModel);
于 2014-02-25T13:51:42.417 回答