ソースを参照

SpriteMaterial.useScreenCoordinates false by default.
Considering removing the property altogether actually...

Mr.doob 11 年 前
コミット
ddf8d6d0dd
2 ファイル変更11 行追加10 行削除
  1. 5 5
      examples/webgl_sprites.html
  2. 6 5
      src/materials/SpriteMaterial.js

+ 5 - 5
examples/webgl_sprites.html

@@ -59,8 +59,8 @@
 
 				group = new THREE.Object3D();
 
-				var materialC = new THREE.SpriteMaterial( { map: mapC, useScreenCoordinates: false, color: 0xffffff, fog: true } );
-				var materialB = new THREE.SpriteMaterial( { map: mapB, useScreenCoordinates: false, color: 0xffffff, fog: true } );
+				var materialC = new THREE.SpriteMaterial( { map: mapC, color: 0xffffff, fog: true } );
+				var materialB = new THREE.SpriteMaterial( { map: mapB, color: 0xffffff, fog: true } );
 
 				for ( var a = 0; a < amount; a ++ ) {
 
@@ -100,9 +100,9 @@
 					var scaleX = mapA.image.width;
 					var scaleY = mapA.image.height;
 
-					var materialA1 = new THREE.SpriteMaterial( { map: mapA, alignment: THREE.SpriteAlignment.topLeft, opacity: 0.25 } );
-					var materialA2 = new THREE.SpriteMaterial( { map: mapA, alignment: THREE.SpriteAlignment.topLeft, opacity: 0.5 } );
-					var materialA3 = new THREE.SpriteMaterial( { map: mapA, alignment: THREE.SpriteAlignment.topLeft, opacity: 1 } );
+					var materialA1 = new THREE.SpriteMaterial( { map: mapA, useScreenCoordinates: true, alignment: THREE.SpriteAlignment.topLeft, opacity: 0.25 } );
+					var materialA2 = new THREE.SpriteMaterial( { map: mapA, useScreenCoordinates: true, alignment: THREE.SpriteAlignment.topLeft, opacity: 0.5 } );
+					var materialA3 = new THREE.SpriteMaterial( { map: mapA, useScreenCoordinates: true, alignment: THREE.SpriteAlignment.topLeft, opacity: 1 } );
 
 					sprite = new THREE.Sprite( materialA1 );
 					sprite.position.set( 100, 100, 0 );

+ 6 - 5
src/materials/SpriteMaterial.js

@@ -30,9 +30,9 @@ THREE.SpriteMaterial = function ( parameters ) {
 	this.color = new THREE.Color( 0xffffff );
 	this.map = new THREE.Texture();
 
-	this.useScreenCoordinates = true;
-	this.depthTest = !this.useScreenCoordinates;
-	this.sizeAttenuation = !this.useScreenCoordinates;
+	this.useScreenCoordinates = false;
+	this.depthTest = true;
+	this.sizeAttenuation = true;
 	this.alignment = THREE.SpriteAlignment.center.clone();
 	this.rotation = 0;
 
@@ -49,8 +49,8 @@ THREE.SpriteMaterial = function ( parameters ) {
 
 	parameters = parameters || {};
 
-	if ( parameters.depthTest === undefined ) this.depthTest = !this.useScreenCoordinates;
-	if ( parameters.sizeAttenuation === undefined ) this.sizeAttenuation = !this.useScreenCoordinates;
+	if ( parameters.depthTest === undefined ) this.depthTest = this.useScreenCoordinates === false;
+	if ( parameters.sizeAttenuation === undefined ) this.sizeAttenuation = this.useScreenCoordinates === false;
 
 };
 
@@ -68,6 +68,7 @@ THREE.SpriteMaterial.prototype.clone = function () {
 	material.useScreenCoordinates = this.useScreenCoordinates;
 	material.sizeAttenuation = this.sizeAttenuation;
 	material.alignment.copy( this.alignment );
+	material.rotation = this.rotation;
 
 	material.uvOffset.copy( this.uvOffset );
 	material.uvScale.copy( this.uvScale );