【问题标题】:Unity3D localscale issueUnity3D局部尺度问题
【发布时间】:2014-02-27 15:11:55
【问题描述】:

以下代码:

Debug.LogWarning("updating scale fix, scalefactor: "+scaleFactor+" - Current scale is: "+cell.transform.localScale.x);
cell.transform.localScale.Set (scaleFactor,scaleFactor,scaleFactor);
Debug.LogWarning("Scale after fix: " + cell.transform.localScale.x);

产生以下输出:

updating scale fix, scalefactor: 0.9 - Current scale is 0.8921105
UnityEngine.Debug:LogWarning(Object)

Scale after fix: 0.8921105
UnityEngine.Debug:LogWarning(Object)

有什么想法吗?我只是假设,由于这些事情是接连发生的,所以应该更新规模。还是在帧完成后会发生这种情况?

感谢任何帮助。

【问题讨论】:

    标签: c# unity3d transform scale


    【解决方案1】:

    localScale 是一个属性,因此它返回真实 localScale 的副本(Vector3 是一个结构) 试试cell.transform.localScale = new Vector3 (scaleFactor, scaleFactor, scaleFactor);cell.transform.localScale = Vector3.one * scaleFactor;

    【讨论】:

    • 这行得通,谢谢。我的一个问题是 .Set(x,y,x) 被假定用于此目的。然而,我没有看到任何关于它的文档。
    • 但是如何从一个点缩放它,例如从左到右?是否可以以编程方式设置枢轴位置?
    • 是的,您可以更改transform.positiontransform.localPosition
    猜你喜欢
    • 2023-03-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-03
    • 2021-10-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多