2016-09-19 13 views
0

マッピングテクスチャの開始点をどのように移動する必要がありますか?three.jsマッピングの開始点を移動する方法は?

これは、uv_gridテクスチャを持つobjファイルです。

Before

これは、中央に(始点)のラインを示しているが、私は何をしたいのか、以下のような側面へのマッピングの開始点を移動することです。

After

マイコード:あなたは試してみてください

var loader = new THREE.ImageLoader(); 
loader.load("../img/white.jpg", function(image) { 
    texture.minFilter = THREE.LinearFilter; 
    texture.image = image; 
    texture.wrapS = THREE.ClampToEdgeWrapping; 
    texture.wrapT = THREE.ClampToEdgeWrapping; 
    texture.needsUpdate = true; 
}, onProgress, onError); 

var loader = new THREE.OBJLoader(); 
loader.load('../models/body.obj', function(object) { 
    object.traverse(function(child) { 

     if (child instanceof THREE.Mesh) { 
      child.material.map = texture; 
     } 
    }); 
    object.name = "object"; 
    object.position.y = 0; 
    scene.add(object); 
}, onProgress, onError); 

答えて

0

まず最初は、テクスチャoffsetrepeat -parametersを調整し、それはあなたに十分に良好な結果をもたらすかどうかを確認することです。

これは役に立たない場合は、あなたがしたいことを何も言わなかった新しいUVマップを作成する必要があります。新しいUVマップを作成するには、基本的に2つのオプションがあります。

a)three.jsで新しいUVマップを数学的に作成します。複雑さが異なり、多かれ少なかれ有望な結果が得られる、いくつかのオプションがあります。あなたのケースでは、前面/背面の平面投影が2倍になります。これは、前後から写真を撮り、その2枚の写真をテクスチャとして一緒に使うようなものです。

b)しかし、特に適切な場所に縫い目をつけたい場合は、3Dソフトウェア(ブレンダーなど)を使用してuvアンラッピングを行う方法を学ぶことができます。実際には、しかし、すべての3Dソフトウェアは、無料でオープンソースであり、実際にはかなり良いです。その方向で多くの有用なものが含まれているビデオチュートリアルです:https://www.youtube.com/watch?v=o9TGJj4DvjU

関連する問題