unity3d怎么自定义unity game窗口不显示的分辨率

温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!&&|&&
LOFTER精选
网易考拉推荐
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
阅读(3192)|
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
历史上的今天
loftPermalink:'',
id:'fks_',
blogTitle:'unity3D导出exe文件,总是有个设置窗口,来设置分辨率和其他参数。如何删除掉这一步?',
blogAbstract:'unity3D导出exe文件,总是有个设置窗口,来设置分辨率和其他参数。如何删除掉这一步?
点开unity3d主界面左上角按钮Edit按钮里Project setting 下 player 选项,
在Inspec视图下调节Resolution and presentation 里的 display Resolution Dialog 状态 选择Disabled',
blogTag:'',
blogUrl:'blog/static/24',
isPublished:1,
istop:false,
modifyTime:6,
publishTime:4,
permalink:'blog/static/24',
commentCount:1,
mainCommentCount:1,
recommendCount:0,
bsrk:-100,
publisherId:0,
recomBlogHome:false,
currentRecomBlog:false,
attachmentsFileIds:[],
groupInfo:{},
friendstatus:'none',
followstatus:'unFollow',
pubSucc:'',
visitorProvince:'',
visitorCity:'',
visitorNewUser:false,
postAddInfo:{},
mset:'000',
remindgoodnightblog:false,
isBlackVisitor:false,
isShowYodaoAd:false,
hostIntro:'',
hmcon:'1',
selfRecomBlogCount:'0',
lofter_single:''
{list a as x}
{if x.moveFrom=='wap'}
{elseif x.moveFrom=='iphone'}
{elseif x.moveFrom=='android'}
{elseif x.moveFrom=='mobile'}
${a.selfIntro|escape}{if great260}${suplement}{/if}
{list a as x}
推荐过这篇日志的人:
{list a as x}
{if !!b&&b.length>0}
他们还推荐了:
{list b as y}
转载记录:
{list d as x}
{list a as x}
{list a as x}
{list a as x}
{list a as x}
{if x_index>4}{break}{/if}
${fn2(x.publishTime,'yyyy-MM-dd HH:mm:ss')}
{list a as x}
{if !!(blogDetail.preBlogPermalink)}
{if !!(blogDetail.nextBlogPermalink)}
{list a as x}
{if defined('newslist')&&newslist.length>0}
{list newslist as x}
{if x_index>7}{break}{/if}
{list a as x}
{var first_option =}
{list x.voteDetailList as voteToOption}
{if voteToOption==1}
{if first_option==false},{/if}&&“${b[voteToOption_index]}”&&
{if (x.role!="-1") },“我是${c[x.role]}”&&{/if}
&&&&&&&&${fn1(x.voteTime)}
{if x.userName==''}{/if}
网易公司版权所有&&
{list x.l as y}
{if defined('wl')}
{list wl as x}{/list}努力加载中,稍等...
暂无新消息
努力加载中,稍等...
已无更多消息...
这些人最近关注了你
努力加载中,稍等...
已无更多消息
努力加载中,稍等...
已无更多消息
Unity3D之Shader自定义编辑器功能拓展
版权所有,禁止匿名转载;禁止商业使用;禁止个人使用。
一、前言  最近在开发一个关卡类的游戏,在导入一些3D物体的时候,发现很多时候同一个3D物体需要渲染的方式不一样,比如这颗树要双面渲染(Cull Off),但在很多情况下是可以剔除背面(Cull Back)的,之前在写Shader方面找不到什么好方法直接控制,干脆就写了两个Shader,这就造成了无谓的浪费跟资源管理的麻烦了,我们是可以更加方便地控制Shader的某些属性的。二、正文  先看看我们最终的效果图:  这里我只是列了一部分的属性作为例子进行介绍,大家当然是可以拓展到想要控制的另外属性上面的。贴上我们需要的shader代码:   好了,让我们来分析一下具体代码的作用。1、下拉框:  这一句简单来说就是定义了一个Float类型名字为_CullMode的变量。  [Space(10)] : 这个是指在面板上留10单位的空间展示此属性。  [Enum(CullMode)] : 这里就表明了这个变量是属于CullMode的枚举变量,在最后的默认值为0,就是CullMode.Off这个值。我们就可以根据这个枚举来进行渲染剔除类型的控制。而对应的代码是:。然后如果我们打算用脚本去控制这个值,可以这样做:  特别要注意的是,有时候我们虽然定义了,发现所可以选择的枚举值并不是我们想要的,那就很可能是有同名的系统枚举类型了,所以我们很多时候都尽量定义全枚举变量的引用,像这样子做:2、自定义的枚举下拉框  那我们是否可以使用自定义的枚举类型呢?以下就是例子  这样我们就定义了包含了{Original,Black,White}的枚举类型了,然后我们还有在CG语言里面定义相关联的关键字,它的形式是“变量名”+“_”+“枚举变量名”:  当我们要使用这几个关键字的时候,就是这样的:   这里的代码都是为了简单举例进行展示使用方式而已。同时,我们可以用脚本去控制宏,这个跟之前的系统定义的枚举变量控制是不一样的:  因为在定义这些自定义的枚举的时候,已经生成了Shader内部的一个对应的关键字了,所以我们必须要用EnableKeyWord/DisableKeyWord的方式去启用或者关闭。3、选择框  当我们需要定义一个布尔型的属性的时候,我们也是可以用Float去替代的:  所使用的方式是:  而平时的常规写法是这样的:                    但我们定义了这个[Toggle]之后,就可以得到一个“变量名”+“_ON”的关键字可以使用了。同样地,我们用脚本控制的时候也是一样的方式:4、滑动条  而当我们需要去控制一个值在一个范围内的时候,我们可以使用滑动条的定义:  其实如果你不用前面的定义也是可以的,只要用Range这个定义就可以了,而脚本控制的方式也是跟SetFloat的方法是一样的。5、隐藏显示变量  有时候定义太多东西到面板上反而会造成策划或者别的人看的时候迷糊,所以有些定义的变量,我们不想它显示在面板的时候,可以这样子做:  但其实[HideInInspector]这个变量属性也可以用在脚本上定义的,这里就不详说了。这里先写这些了,有什么意见或者建议都可以在下面留言,谢谢大家。  后续:如果大家对这些功能还不满足的话,还可以自己写编辑器,只要继承“ShaderGUI”这个类就好了,具体大家可以在这里查看:/ScriptReference/ShaderGUI.html,如果有需要,我也可以继续写这个类详细的扩展。
分类:(原创)Unity3D圈
登录后参与讨论。点击
请勿发表无意义的内容请勿发表重复内容请勿发表交易类内容禁止发表广告宣传贴请使用文明用语其它
淫秽色情政治倾向人身攻击抄袭剽窃广告刷屏恶意挖坟冒充他人其它System.Type T = System.Type.GetType("UnityEditor.GameView,UnityEditor");
System.Reflection.MethodInfo GetMainGameView = T.GetMethod("GetMainGameView", System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Static);
System.Object Res = GetMainGameView.Invoke(null, null);
var gameView = (UnityEditor.EditorWindow)R
var prop = gameView.GetType().GetProperty("currentGameViewSize", System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance);
var gvsize = prop.GetValue(gameView, new object[0] { });
var gvSizeType = gvsize.GetType();
var debug_h = (int)gvSizeType.GetProperty("height", System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.Instance).GetValue(gvsize, new object[0] { });
var debug_w = (int)gvSizeType.GetProperty("width", System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.Instance).GetValue(gvsize, new object[0] { });
以上代码可获取Game View中当前选择的分辨率,而非Using resolution。取到的值可用于动态设置NGUI组件(如UIScrollView)的参数等。
这个方式要求game窗口设置的分辨率是固定值。如果设置为Free Aspect则得到的宽高都为0
阅读(...) 评论()

我要回帖

更多关于 unity game窗口不刷新 的文章

 

随机推荐