我有一个场景,显示多个模型中的一个对象。每个模型都以可变状态显示对象。 有一个滑块可以在多个模型之间切换。 我的问题是,当用户旋转视图并更改为另一个模型时,旋转将丢失,新模型将显示在初始摄像机/视口位置。 因此 - 如何在新模型上强制进行当前相机转换?
$("#slider").change(function(){
var i = $('#slider')[0].value;
myscene.models = new Array();
myscene.add(mymodels[i]);
myscene.defineBuffers(mymodels[i]);
myscene.render();
});
谢谢, EL
答案 0 :(得分:1)
它不叫PhiloGL吗?请分享代码以供审核 - 您如何共享,存储和恢复状态。在WebGL中,您需要显式地存储/恢复转换。
答案 1 :(得分: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);