C# 3d文本上的transform.LookAt正在向后显示文本
我使用的是Unity 2019.2 这是我的密码:C# 3d文本上的transform.LookAt正在向后显示文本,c#,unity3d,C#,Unity3d,我使用的是Unity 2019.2 这是我的密码: GameObject[] damageTexts = GameObject.FindGameObjectsWithTag("CombatText"); foreach (GameObject damageText in damageTexts) { damageText.transform.LookAt(Camera.main.transform); } 它正在制作我想在相机上看到的所有3D文本。但是文本是倒写的吗? 为什么?我怎样
GameObject[] damageTexts = GameObject.FindGameObjectsWithTag("CombatText");
foreach (GameObject damageText in damageTexts)
{
damageText.transform.LookAt(Camera.main.transform);
}
它正在制作我想在相机上看到的所有3D文本。但是文本是倒写的吗?
为什么?我怎样才能解决这个问题呢?LookAt
damageText.transform.LookAt(damageText.position - Camera.main.transform.position);
旋转变换,使前向向量指向/target/的当前位置
Unity UI组件的前向向量通常指向远离摄影机的方向。因此,如果要使用LookAt
damageText.transform.LookAt(damageText.position - Camera.main.transform.position);
这只是让它看一个相反方向的位置
您还可以使用
LookRotation
damageText.transform.rotation = Quaternion.LookRotation((damageText.position - Camera.main.transform.position).normalized);
这可能是因为3D文本网格的正向变换指向相反的方向(为什么,谁知道呢)。将它们放置在具有正确方向的父对象中,或者相对于相机(相机位置+(相机位置-文本位置)*2)查看文本后面的点。