本文主要是介绍Unity摄像头镜面转换,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
Unity中有时候需要实现水平翻转的镜像效果,在一篇帖子中看到的可以直接使用的代码,找不到链接了,这里记录下。
使用方法就是把以下脚本挂在相机上,勾选是否需要水平翻转的值就可以了。
public class MirrorFlipCamera : MonoBehaviour
{
new Camera camera;
public bool flipHorizontal;
void Awake()
{
camera = GetComponent<Camera>();
}
void OnPreCull()
{
camera.ResetWorldToCameraMatrix();
camera.ResetProjectionMatrix();
Vector3 scale = new Vector3(flipHorizontal ? -1 : 1, 1, 1);
camera.projectionMatrix = camera.projectionMatrix * Matrix4x4.Scale(scale);
}
void OnPreRender()
{
GL.invertCulling = flipHorizontal;
}
void OnPostRender()
{
GL.invertCulling = false;
}
}
这篇关于Unity摄像头镜面转换的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!