Unity游戏开发有哪些让你拍案叫绝的技巧?

​​​​​​知乎用户

288 人赞同了该回答

这些技巧都是来自推特的 #UnityTips (感兴趣的可以自行搜索,可以找到更多的技巧)

*未测试Unity4.X版本的使用情况

1.Unity死机未保存场景:当你在Unity中编辑场景,突然死机时,可以在项目文件目录中找到Temp文件夹,双击文件夹,找到_Backupscenes文件夹,把后缀为.backup的文件后缀改为.unity,然后拖进Unity的Project界面里面,这样就可以还原死机前场景最后情况。

2.Inspector界面的数值栏自带加减乘除功能:从Unity5.1开始,可以在Inspector界面中的数值栏进行计算,比如:你可以在Transform里面的Position中X栏中加减乘除。

3.随意移动模型预览视窗:在Project界面里面选中模型,在Inspector界面上会显示模型的预览视图,右击视图的上的双横条,模型预览视图就会跳出来,此时就可以像Scene,Game等视窗一样任意移动,放在你想放的地方,如果想让他变回去,只要关掉它即可。

4.搜寻当前场景中哪些物件运用了指定脚本:在Hierarchy界面中的搜索栏中输入你想要搜索的脚本全名,即可找到哪些物件用了这个脚本,此方法也可以用来搜索哪些物体上有哪些物件,比如:Rigidbody等。

5.在界面上查看private变量:在Inspector界面右击Inspector的标签栏,选择Debug。

6.只让游戏运行一帧:先按下暂停键,再按运行键。

7.通过Debug.Log获取执行此语句物件:在脚本的Debug.Log语句中加入gameObject,即Debug.Log("Test", gameObject); 脚本运行时点击Console界面中的输出语句,就能在Hierarchy界面中看到哪个物件执行了这个脚本。

8.展开所有子节点:按住Alt,用鼠标点击包含子节点物件前的三角形,在Hierarchy界面和Project界面都可以使用。

9.编辑时镜头跟随选中物件:在Scene界面中选中物件按F,镜头就会对准选中物件,并使其在Scene窗口中居中,如果在拖动物件时,要让镜头跟随物件移动,选中物体后按Shift+F即可。

10.在Scene界面中方便移动编辑镜头:在Scene界面中鼠标右键 + A/S/D/W/Q/E来移动镜头, 如果想使Game视窗的镜头跟Scene一样,可以在Unity菜单栏中选择GameObject-->AlignWithView。

11.在Project界面搜索商店内容:先在Project界面中的搜索栏中输入你想要搜索内容的关键字,然后在搜索栏下边的搜索范围选择中选择AssetStore。

编辑于 2016-04-01 16:46

​赞同 288​​18 条评论

​分享

计算机图形学话题下的优秀答主

185 人赞同了该回答

分享一个比较好玩的内容吧。

大家都知道Unity有一个职位叫做Evangelist,翻译成中文就是布道师。他们的任务是介绍Unity最新的功能,分享Unity的知识。那么做一些演讲自然就必不可少了。

包括其他Team的同事,如果遇到了Unite这样的大会,也要做一些演讲。

那么,准备一份Power Point,同时准备一个live demo就是家常便饭的事情了。但是Power Point和Unity之间来回切换,总觉得不太爽,而且大家都使用Power Point似乎又有点无趣。

所以,国外的Evangelist Andy Touch以及Field Engineer Valentin Simonov他们就做了一个Unity Editor的拓展,即在Unity中播放“Power Point”——其实并不是真的播放PPT——而是利用了Unity的UI系统构建了一套类似Power Point,适合做演讲的工程。(这两位也参加了今年的Unite Beijing)。

下面简单演示一下:

Presentation Project (Unity)

怎么用呢?其实很简单。一套“PPT”就是有很多Scene组成的。

  • Download the project.
  • Open Presentation Window from Window > Presentation menu.
  • Locate the sample Slide Deck in Presentation > Unity folder. It is called Unity Sample Presentation.
  • Select it and click Load This Slide Deck button in the Inspector.
  • Press [> B] button in the top right corner of the Presentation Window.
  • Use Left and Right arrows on your keyboard or [<<] and [>>] buttons in the top right corner of the Presentation Window to switch slides.

那么,这样除了逼格突出之外还有什么好处呢?那就是可以很方便的将Live Demo和“PPT”结合起来。

比如Unite Euro 2017上Valentin Simonov的演讲,PPT和Live Demo浑然天成,还可以很方便的直接调试Profiler。

Unite Demo

不过Valentin在玩flappy bird的时候显得很方,不知道是不是因为狗子的注视。

当然,最后送上工程链接:

UnityTechnologies/Presentation​github.com/UnityTechnologies/Presentation正在上传…重新上传取消

编辑于 2018-10-10 23:28

​赞同 185​​8 条评论

​分享

109 人赞同了该回答

2018里拍案叫绝的操作真的太多了。

首先是对“老年C++开发者”非常友好的Unsafe C#,亦可以称之为Safe C++,加上PC端IL2CPP的普及,可以使游戏在runtime达到真正Native C++的水平,以及新版C# 7的引用,比如ref local和return ref之类的操作,也提高了Native编码的水平,比如这里直接使用C++的方式访问NativeArray的值的引用,避免了繁重的value copy操作(本人正在开发一个底层渲染的开源,对性能要求比较苛刻,其中DrawingPolicy是一个体型很庞大的struct):

我个人认为,在足够有经验的,对性能有很高要求的程序手里,绝对称得上是拍案叫绝了。不仅做到完全没有GC,而且还达到了原生C++的效率。

有人问,游戏引擎本来就对性能要求很高鸭,拥有Native Performance不是很正常的吗?之前才不正常好吧。

诶,这另一个特点就来了,Unsafe保留了Unity自古以来的优良传统,编辑器极其强大。各种Debug系统,所以我会称之为Safe C++。

而且Unity在Editor里还是使用虚拟机,所以开发的时候还是该怎么爽就怎么爽的。

写完代码不用重启编辑器啊~不用编译等半天啊~

写完Shader不用等编译啊~~更不用等什么联合编译啊~~而且官方还见缝插针的修复了Shader runtime compiling的问题,现在一边玩着一边改Shader代码简直美滋滋……

至于其他的,SRP,Progressive GPU,Vulkan API,Job System之类的更偏向于实际技术实现而非“技巧”了,为了不偏题就不说了。

其实今年在看GDC的时候,就感觉Unity的发布会和其他的一些同行比起来虽然不那么酷炫,但是要更加接地气,比如说行业内大火的光线追踪,Unity带来的Progressive GPU目前看来是可以确确实实的提高游戏开发的质量和效率的。

虽然很多操作还是Preview,而且也不如Unity 5那种更新轰动性强,但是带来的提升是全方位的,接地气的,技术比较熟练的高级开发者确实可以选择更新一波。

发布于 2018-10-04 10:57

原文:Unity游戏开发有哪些让你拍案叫绝的技巧? - 知乎

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
本书对Unity 3D集成开发环境界面、脚本的编写和众多高级特效的实现进行了详细介绍,内容深入浅出,是一本适合不同需求、不同开发水平读者的技术宝典。 全书共分16章。第1章主要介绍了Unity 3D的诞生、特点、开发环境的搭建及运行机制;第2章对Unity 3D集成开发环境进行了详细介绍;第3章介绍了Unity 3D中脚本的编写;第4章主要对Unity 3D开发过程中经常使用的组件及对象进行了详细介绍;第5章介绍了Unity游戏开发中非常流行的第三方UI界面开发组件库—NGUI的基础知识;第6章介绍了Unity开发平台的完整的物理引擎体系;第7章介绍了Unity 3D中的着色器和着色器语言—ShaderLab;第8章介绍了天空盒、虚拟按钮与摇杆、声音、水特效、3D拾取、重力加速度传感器及雾特效等开发常用的技术;第9章介绍了Unity中经常使用的光影效果,主要包括各种光源、光照烘焙、法线贴图、镜面特效、波动水面真实效果等技术;第10章介绍了Unity中模型的网格概念及新旧动画系统;第11章介绍了Unity自带的地形引擎、拖尾渲染及导航网格和寻路系统等知识;第12章介绍了AssetBundle更新资源包的使用;第13章介绍了Unity中的多线程技术与网络开发;第14章介绍了Unity 2D游戏开发工具;第15章介绍了Unity 3D提供的Profiler工具的使用方法,及断点调试的两种方式;第16章介绍了完整的大型3D游戏案例—指间足球。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值