c# - 从类型为 multiple 的纹理调整加载的精灵大小(宽度和高度不匹配)
问题描述
你好我有一个问题,我不明白为什么会这样,问题是:
我有一个多重类型的纹理,我加载了我所有的卡片精灵
质地:
如您所见,每张卡片都有自己的 Sprite 属性,这些属性定义了图像的限制,在此示例中,您将看到宽度为 402,高度为 563。
但是由于某种原因,当我使用加载精灵
Sprite[] sprites = Resources.LoadAll<Sprite>(sheetName)
然后访问特定精灵时,例如(sprites[0]
)
如果我做
sprites[0].rect.width
sprites[0].rect.height
返回的值与图像上之前指定的值不同,我需要这些值使用此公式将精灵宽度缩放为特定的宽度和高度
var factorX = (CARD_WIDTH / sprites[0].rect.width );
var factorY = (CARD_HEIGHT / sprites[0].rect.height ) ;
transform.localScale = new Vector2(factorX, factorY);
因为宽度和高度的值不同,所以我得到的因素是错误的。
另外,我刚刚注意到我得到的值与统一编辑器在这里向我显示的值相同
我的问题是:
为什么我得到不同的宽度和高度值?
解决方案
这两个比率大致相同,它会显示缩略图的mip贴图的分辨率而不是原始纹理吗?您可以尝试在纹理导入设置中关闭 Generate Mipmaps(如果它已打开)
推荐阅读
- android - Appium 与 Android Enterprise(工作配置文件)
- android - 如何重新启用开发者选项
- javascript - 我想在输入框、表格或使用 node.js 的 div 中的 .html 文件中显示存储在 mysql 数据库中的数据
- ios - UIScrollView zoomScale 初始更新后未更新
- reporting-services - SSRS 中的可选多选参数
- docker - 错误:Compose 文件“./docker-compose.yml”services.web 不支持的配置选项:“dockerfile”
- python - 如何将原始 CSV 列以及 Bigram 计数和频率导出到新的 csv?
- java - 如何从数组列表中搜索和删除对象?
- sql - 在 SQL 中执行查找计数
- matlab - 在Matlab中计算条码每个条的宽度