unity3d 镜像翻转画面脚本
2017-06-12 09:46
381 查看
做项目镜子屏幕需要左右翻转画面
直接挂摄像机上勾选一下即可(注意只反场景里的 不包括ui)
直接使用
Matrix4x4 mat = camera.projectionMatrix;
mat *= Matrix4x4.Scale(new Vector3(-1, 1, 1));
camera.projectionMatrix = mat;
会造成镜像里画面出现问题
因为没有重置矩阵,摄像机画面不一定是正对着的
主要代码摘自
http://answers.unity3d.com/questions/20337/flipmirror-camera.html
直接挂摄像机上勾选一下即可(注意只反场景里的 不包括ui)
using UnityEngine; [RequireComponent(typeof(Camera))] [ExecuteInEditMode] 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; } }
直接使用
Matrix4x4 mat = camera.projectionMatrix;
mat *= Matrix4x4.Scale(new Vector3(-1, 1, 1));
camera.projectionMatrix = mat;
会造成镜像里画面出现问题
因为没有重置矩阵,摄像机画面不一定是正对着的
主要代码摘自
http://answers.unity3d.com/questions/20337/flipmirror-camera.html
相关文章推荐
- [cnblogs镜像]Unity3d 拖拽脚本报错 Can’t add script
- Unity3D调用摄像头,画面为翻转的问题
- [cnblogs镜像]为什么叫Unity3d为脚本语言
- Unity3D调用摄像头,画面为翻转的问题
- Unity3D调用摄像头,画面为翻转的问题
- Unity3D:c#脚本控制物件移动,材…
- [unity3d]第三人称视角相关脚本
- 一篇关于Unity3D优化的文章,翻译脚本优化部分
- Unity3D动画贴图、滚动纹理、滚动贴图脚本
- Unity3d脚本中文支持
- Unity3D Player角色移动控制脚本
- 给unity3D中的GameObject挂载脚本代码
- Unity3D脚本:Unity制作连连看脚本
- docker打镜像脚本
- Openstack Centos镜像启用SSH密码验证脚本
- unity3d--脚本入门
- unity3d_定义脚本和系统生成脚本的区别
- Unity3D脚本:相机旋转代码
- unity3d动态加载脚本
- Unity3d C# 脚本学习小结【常用方法】