【发布时间】:2013-09-05 22:46:36
【问题描述】:
我有一些类似于以下的代码...
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 );
这些显示完整的精灵表(有点),正如我所期望的那样,没有进一步的设置。
如何对齐精灵,使其仅显示 32x32px,例如从偏移 50,60 开始? three.js 文档似乎没有太多信息,而且我看到的示例倾向于每个精灵使用一个图像(这可能更可取,或者唯一可能的方式?)
编辑:我发现了一个材质 uvOffset 和 uvScale,如果有人知道它们是如何工作的,我怀疑它们与 Sprite 对象中的对齐有关。将进一步挖掘。
【问题讨论】:
标签: three.js