2017-11-13 12 views
0

を移動しません:WebGLのTHREE:OBJの位置を変更することが、オブジェクトが、私は(私は後でそれを変更することができるように、グローバル変数として保存)、次のようにロードされたオブジェクトで働いています

model1 = null; 

var mtlLoader = new THREE.MTLLoader(); 
    mtlLoader.load("http://blabla.mtl", function(materials) { 
    materials.preload(); 
    var objLoader = new THREE.OBJLoader(); 
    objLoader.setMaterials(materials); 
    objLoader.load("http://blabla.obj", function(object) { 
    object.scale.x = 0.0004; 
    object.scale.y = 0.0004; 
    object.scale.z = 0.0004; 
    object.rotateX(Math.PI/2); 
    object.rotateZ(Math.PI/2); 
    object.add(new THREE.AxisHelper(2)) 
    model1 = object;  //save in global variables 
    scene.add(model1); 
    }); 
}); 
私はコンソールでMODEL1の位置が変化するが、オブジェクトがちょうどdoesnのことを見ることができます

function render(ms: number) { 
    if (lastTime) { 
    update((ms-lastTime)/1000) 
    } 

    lastTime = ms 
    requestAnimationFrame(render) 
    renderer.render(scene, camera) 
} 

var pos_current; 
var pos_new; 
var trans; 

function update(dt: number) { 
    if (pause.on) return 


    //save position of box before it is transformed 
    pos_current = box.position.clone(); 

    box.updatePosition() 

    //save new position of box 
    pos_new = box.position.clone(); 

    //transform the 3D-model according to the box's transformation 
    trans = pos_current.sub(pos_new); 

    model1.position.add(trans); 
    console.log(model1.position) 

私は位置のボックスの変化に基づいて、私はモデルの位置を変更したいレンダリングしていますまったく動かず、私は本当に理由を理解できません。

すべてのヘルプは非常に高く評価され:)

+0

'object.matrixAutoUpdate = false;'をどこに設定しますか? 'position'、' rotation'、 'scale'プロパティはヘルパーに過ぎず、新しい行列を計算するときに使われます。 'object.matrix'プロパティを見て、' position'が更新されたときに更新されているかどうかを確認してください。 – TheJim01

+0

いいえ私はそれをしません - しかし、実際には、実際には別の問題があるようですが、私は何も変更していませんが、これは上記の問題と関係しているかもしれません - 今はmodel1がnull obj-loader-functionなので、私はmodel1.positionまたはmodel1.matrixにアクセスすることはできません。 – Linda

+1

omg - 私はちょうどそれを動作させました - モデル1の位置を更新できないのでもちろんありませんそれをロード完了:) – Linda

答えて

0

は、それが動作するようになった - 問題は、それが実際にOBJ-ローダーでロード行われていた前に、私は、モデル1の位置を更新しようとしていたということでした:D

関連する問題