【发布时间】:2021-10-23 06:58:03
【问题描述】:
我的 3d 游戏中有一些带有世界空间渲染模式的滑块和按钮的画布。以不同距离连接到不同游戏对象的画布。
如何根据相机的放大或缩小调整画布大小?
重要!所有画布必须同时执行此操作。
例如:Canvas 应该在相机放大时收缩或在缩小时拉伸。
现在我是这样的(但在我看来有更好的方法):
if (Vector3.Distance(_camera.transform.position, transform.position) < 70)
{
var scaleFactor = Vector3.Lerp(transform.localScale, new Vector3(0.5f, 0.5f, 0.5f), 0.01f);
transform.localScale = scaleFactor;
}
else
{
//Because default canvas scale is 1, 1, 1
var scaleFactor = Vector3.Lerp(transform.localScale, Vector3.one, 0.01f);
transform.localScale = scaleFactor;
}
【问题讨论】:
标签: unity3d user-interface canvas