1

Blenderからjsonをエクスポートしました。json モデルの一部のマテリアルのテクスチャを変更するには?

4

2 に答える 2

2

モデルと後続のテクスチャが読み込まれると、それらは THREE.Mesh と THREE.Material にバインドされたテクスチャになります。したがって、読み込みは重要な手がかりではありますが、必ずしも要因ではありません。実行時にテクスチャを変更するには、メッシュ ポスト ロード イベントをキャッチします

var loader = new THREE.JSONLoader(), function (geometry) {
    mesh = new THREE.Mesh(geometry, new THREE.MeshBasicMaterial());
};

その後、または上記のローダー内で、次のようにカスタム テクスチャを適用できます。

mesh.material.map = THREE.ImageUtils.loadTexture( 'newTexture.png' );

または、THREE.MeshFaceMaterial(materials) を介して複数のマテリアル メッシュがある場合は、スワップ アウトするテクスチャのインデックスを決定し、次のパターンを使用する必要があります。

mesh.material.materials[index].map = THREE.ImageUtils.loadTexture( 'newTexture.png' );

現在、必ずしも JSON に関するものではありませんが、関連する投稿が多数あります。ただし、これらを参照として使用することもできます

于 2013-11-01T14:00:28.777 に答える
0
$('#materialchange').on('click',function(){
  oparcie.material.materials[0].map = THREE.ImageUtils.loadTexture('inne.png');
});

これはうまくいきました;)しかし、異常にネストされたパスのように見えます

于 2016-01-20T16:12:12.040 に答える