我正在尝试缩放 UV。我有当前 UV 壳占用的 0-1 UV 空间的百分比以及我需要壳占用的百分比。最好的方法是什么?
我试过使用pm.polyEditUVs()
,但我无法想出一个公式来将百分比转换为适当的比例值。
如果我含糊不清,请告诉我,我会尝试更具体。
编辑:
抱歉,我的问题不完整。
中的比例值pm.polyEditUVs()
不按区域缩放,它们独立使用 U 和 V 值进行缩放。
如果它是按面积缩放,那么将旧的除以新的会产生正确的比例值,但在这里它不会。例如:
A = 1.0 #Normalized percentage of the total UV area our UVs currently occupy.
B = 0.25 #Normalized percentage of the total UV area we want our UVs to occupy.
#If we could scale the area directly using a single number then the following would work.
ScaleValue = B\A
0.25 = 0.25\1.0
但是,如果我们将该值插入到 scaleU 和 scaleV 关键字参数中,pm.polyEditUVs()
那么您将按指数比例而不是线性减少面积。
#continuing with the previous example
#for the sake of ease of predictability regarding the math I am assuming our UVs are a square for this example, however U and V will rarely be the same value.
U = 1.0 #linear distance actual value (percentage value would be 100% (1.0))
V = 1.0 #linear distance. actual value (percentage value would be 100% (1.0))
Area = 1*1 #actual area value. (percentage value would be 100% (1.0))
newU = U * scaleValue
0.25 = 1.0 * 0.25
newV = V * scaleValue
0.25 = 1.0 * 0.25
newArea = newU * newV
0.0625 = 0.25 * 0.25
最终结果,不是将区域设为原始大小的 25%,而是将其变为原始大小的 6.25%。我们如何考虑这个额外的数量级?
我为这个例子的迂腐性质道歉,但我想确保我的例子是清楚的,如果不是,我会添加更多。