0

次のようなコードがあります...

this.texture = new THREE.ImageUtils.loadTexture( 'spritesheet.png' );
this.material = new THREE.MeshBasicMaterial( { map: this.texture, side:THREE.DoubleSide } );
this.geometry = new THREE.PlaneGeometry(32, 32, 1, 1);
this.sprite = new THREE.Mesh( this.geometry, this.material );
game.scene.add( this.sprite );

私も...の線に沿って試しました...

    this.material = new THREE.SpriteMaterial( { 
    map: image, 
    useScreenCoordinates: true, 
    alignment: THREE.SpriteAlignment.center 
} );
    this.sprite = new THREE.Sprite( this.material );

これらは、さらに設定しなくても予想されるように、完全なスプライトシート (一種) を表示します。

たとえば、オフセット 50,60 から始まる 32x32px のみが表示されるようにスプライトを配置するにはどうすればよいですか? three.js のドキュメントにはあまり情報がないようで、私が見た例では、スプライトごとに 1 つの画像を使用する傾向があります (これが望ましいか、または可能な唯一の方法でしょうか?)

編集: スプライト オブジェクトの配置に関連していると思われるマテリアル uvOffset と uvScale を見つけました。さらに掘り下げます。

4

1 に答える 1