Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/330.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在getU()中U和V的含义_Java_Libgdx - Fatal编程技术网

Java 在getU()中U和V的含义

Java 在getU()中U和V的含义,java,libgdx,Java,Libgdx,我检查了TextureRegion类的文档。我不确定getU(),setU(),getV(),setV(),getU2(),setU2()…方法的含义。他们做什么,在什么情况下对程序员有用。早在我为3d对象创建UV贴图的时候。这些UV与3D图形相关吗?这是指向它的链接:UV是2d纹理中样本(像素)的坐标。UVW-相同,但适用于3d纹理 我想在这个类中,它允许设置将要使用的区域,而不是完整的纹理。当你需要很多小纹理时,通常会这样做——因为大多数卡片不支持加载大量纹理(例如,移动芯片可以容纳大约4-

我检查了TextureRegion类的文档。我不确定
getU(),setU(),getV(),setV(),getU2(),setU2()…
方法的含义。他们做什么,在什么情况下对程序员有用。早在我为3d对象创建UV贴图的时候。这些UV与3D图形相关吗?这是指向它的链接:

UV是2d纹理中样本(像素)的坐标。UVW-相同,但适用于3d纹理

我想在这个类中,它允许设置将要使用的区域,而不是完整的纹理。当你需要很多小纹理时,通常会这样做——因为大多数卡片不支持加载大量纹理(例如,移动芯片可以容纳大约4-32个,桌面128-512个),它们打包在单个纹理图像中,然后通过定义矩形区域的UV坐标范围进行选择


SetU
SetV
用于左上角,
setU2
setV2
用于右下角。

U和V是纹理坐标的标准名称,就像X和Y是二维绘图的标准名称一样

当纹理映射到二维曲面时,它们将用于三维图形中。通常,U和V的值都在0.0到1.0之间。例如,将纹理映射到方形曲面时,通常以像素坐标指定纹理的每个角点,并将每个角点与UV坐标中的0,0或0,1或1,1或1,0进行匹配


但是,通过映射这些坐标,您可以做更多的工作。可以旋转、翻转和拉伸曲面上的纹理。如果您随时间更改UV坐标,您将获得在曲面上设置纹理动画的效果。

谢谢您的光临。我还是有点困惑。纹理地图集不是用于将较小的图像打包到较大的图像中吗?为什么要使用UV?UV允许从atlas中选择单个纹理,而atlas在适配器中由单个纹理表示。例如,您有一个具有4张相同大小图片的地图集,然后要使用图片1,在左上角,U和V的范围仅为0到0.5。如果您不限制它们,则视频适配器将使用整个纹理-这意味着您将在一张图片上获得4张图片的混合。