unity3d大屏(unity3d 中整体画面太大,想突出局部效果,加了多个camera小视口同时显示,但由于背景相同效)
本文目录
- unity3d 中整体画面太大,想突出局部效果,加了多个camera小视口同时显示,但由于背景相同效
- unity3d 关于屏幕大小,江湖救急~~
- unity3d 怎样设置游戏全屏
- 如何让unity3d自适应分辨率比如有16:9和16:10的各种屏幕,尤其是当使用GUI时候
unity3d 中整体画面太大,想突出局部效果,加了多个camera小视口同时显示,但由于背景相同效
直接给小窗口摄像机一个带alpha的贴图,让中央透明即可或者用Graphics、Mesh什么的画线来遮挡边缘
unity3d 关于屏幕大小,江湖救急~~
这个screen.width 是游戏窗口的宽度,不是显示器的0.1f*screen.width应该是窗口的左侧
unity3d 怎样设置游戏全屏
在你打包游戏的时候building settings里有player settings 把display resolution dialog这个选择里面的enable改成hidden by default 因为上面有默认的default is full screen 就会自己全屏了
如何让unity3d自适应分辨率比如有16:9和16:10的各种屏幕,尤其是当使用GUI时候
public override void GUIDraw (){//开始缩放//先定义一个标准屏幕大小代码按照这个分辨率写,这里屏是800*480象素,GUI矩阵再乘以新的缩放矩阵实现GUI的缩放,GUI.matrix*=scaleMatrix; ScreenScaleUtil.BeginScreenScale ();//GUI代码GUI...//结束缩放ScreenScaleUtil.EndScreenScale ();}ScreenScaleUtil.csusing UnityEngine;using System.Collections;using System.Collections.Generic;public enum ScreenScaleType{None,Center,Fit,Full}public static class ScreenScaleUtil{static ScreenScaleUtil (){scaleRate=1;scaleType = ScreenScaleType.None;scaleMatrix = Matrix4x4.identity;screenSize = new Vector2 (800, 480); ScaleType=ScreenScaleType.Fit; lstMats =new List《Matrix4x4》(); }private static Matrix4x4 scaleMatrix;private static ScreenScaleType scaleType;private static Vector2 screenSize;private static float scaleRate;public static Matrix4x4 ScaleMatrix {get {return scaleMatrix; }}public static ScreenScaleType ScaleType {get { return scaleType; }set {if (value != scaleType) { scaleType = value; scaleMatrix = GetScreenScaleMatrix (screenSize, scaleType,out scaleRate);}}}public static Vector2 ScreenSize {get { return screenSize; }set {if (value != screenSize) {screenSize = value; scaleMatrix = GetScreenScaleMatrix (screenSize, scaleType,out scaleRate);} }} public static float ScaleRate{get{return scaleRate;}}public static void Update(){scaleMatrix = GetScreenScaleMatrix (screenSize, scaleType,out scaleRate);}public static Matrix4x4 GetScreenScaleMatrix (Vector2 screenSize, ScreenScaleType scaleType){float rate;return GetScreenScaleMatrix(screenSize,scaleType,out rate);}public static Matrix4x4 GetScreenScaleMatrix (Vector2 screenSize, ScreenScaleType scaleType,out float rate){Matrix4x4 scaleMatrix; rate = 1; if (scaleType == ScreenScaleType.None) { scaleMatrix = Matrix4x4.identity; } else {if ((Screen.width / (float)Screen.height) 《 (screenSize.x / screenSize.y)) { if (scaleType == ScreenScaleType.Fit) {rate = Screen.width / screenSize.x;} else if (scaleType == ScreenScaleType.Full) {rate = Screen.height / screenSize.y;}} else {if (scaleType == ScreenScaleType.Fit) {rate = Screen.height / screenSize.y;} else if (scaleType == ScreenScaleType.Full) {rate = Screen.width / screenSize.x;}}scaleMatrix = Matrix4x4.TRS (new Vector3 ((Screen.width - screenSize.x * rate) / 2.0f, (Screen.height - screenSize.y * rate) / 2.0f, 0), Quaternion.identity, new Vector3 (rate, rate, 1)); }return scaleMatrix;} private static List《Matrix4x4》 lstMats; public static void BeginScreenScale(){ if(lstMats.Count》0){return;} lstMats.Add(GUI.matrix); GUI.matrix*=ScaleMatrix; } public static void BeginScreenScale(ScreenScaleType scaleType ){ if(lstMats.Count》0){return;} lstMats.Add(GUI.matrix); GUI.matrix*=GetScreenScaleMatrix(screenSize,scaleType); }public static void EndScreenScale(){if(lstMats.Count《=0)return; GUI.matrix=lstMats; lstMats.RemoveAt(lstMats.Count-1);}}
更多文章:
vs2017安装教程(安装visual studio2017时老出问题)
2024年7月10日 02:23
剪切快捷键ctrl加什么(剪切快捷键是什么 剪切快捷键Ctrl+X)
2024年5月24日 07:10
部落冲突破解版(部落冲突破解版到底有没有,如果有是不是真的啊)
2024年5月6日 20:18
怎样登陆手机定位官方网站怎样登陆精确手机定位网站怎样登陆手机定位精确网怎样实现精确手机定位?手机定位网
2024年6月21日 13:40
超级浏览器下载安装(电脑怎么下载浏览器 电脑下载浏览器的方法)
2024年8月24日 22:05
烧饼修改器官网(有哪些不用root就可以使用的修改器操作流程是什么)
2024年7月23日 19:30