浏览代码

addUniformUVS() : scale all UVs according to cube size

bstouls 7 年之前
父节点
当前提交
93bf9b4631
共有 1 个文件被更改,包括 20 次插入0 次删除
  1. 20 0
      h3d/prim/Cube.hx

+ 20 - 0
h3d/prim/Cube.hx

@@ -63,6 +63,26 @@ class Cube extends Polygon {
 		];
 	}
 
+	public function addUniformUVs(scale = 1.) {
+		unindex();
+
+		var v = scale;
+		uvs = [
+			new UV(v * sizeX, v * sizeZ), new UV(0, v * sizeZ), new UV(0, 0),
+			new UV(v * sizeX, v * sizeZ), new UV(0, 0), new UV(v * sizeX, 0),
+			new UV(v * sizeY, v * sizeZ), new UV(0, v * sizeZ), new UV(0, 0),
+			new UV(v * sizeY, v * sizeZ), new UV(0, 0), new UV(v * sizeY, 0),
+			new UV(v * sizeX, v * sizeY), new UV(0, v * sizeY), new UV(0, 0),
+			new UV(v * sizeX, v * sizeY), new UV(0, 0), new UV(v * sizeX, 0),
+			new UV(0, v * sizeZ), new UV(v * sizeY, 0), new UV(v * sizeY, v * sizeZ),
+			new UV(0, v * sizeZ), new UV(0, 0), new UV(v * sizeY, 0),
+			new UV(0, v * sizeZ), new UV(v * sizeX, 0), new UV(v * sizeX, v * sizeZ),
+			new UV(0, v * sizeZ), new UV(0, 0), new UV(v * sizeX, 0),
+			new UV(0, v * sizeY), new UV(v * sizeX, 0), new UV(v * sizeX, v * sizeY),
+			new UV(0, v * sizeY), new UV(0, 0), new UV(v * sizeX, 0),
+		];
+	}
+
 	override public function getCollider() : h3d.col.Collider {
 		return h3d.col.Bounds.fromValues(translatedX, translatedY, translatedZ, sizeX * scaled, sizeY * scaled, sizeZ * scaled);
 	}