文章目录
一、前言二、Unity常用窗口1、Unity六大窗口2、Game窗口分辨率设置3、Scene窗口中3D图标的隐藏4、摄像机与Scene窗口视角的相互同步5、Inspector组件的收起与展开6、Hierarchy窗口树节点的收起与展开7、Project窗口筛选过滤8、Console日志窗口9、PackageManager窗口10、Player Settings窗口三、Player Settings窗口常用设置1、设置游戏名字2、包名(Bundle ID)设置3、设置版本号3、设置游戏icon4、高清游戏图标压缩格式设置5、设置闪屏6、横竖屏设置7、设置宏定义8、平台CPU类型设置9、设置多线程渲染10、设置锁帧率11、设置固定时间步长(物理更新)12、设置层的物理碰撞13、设置Layer层14、设置Tags15、设置引擎代码裁剪四、其他设置1、保存文件提示设置2、下载和配置Android Build Support3、设置JDK、Android SDK、NDK、Gradle五、代码常用1、帧率FPS2、Debug.Log输出带颜色的日志3、捕获Unity日志并上传到服务器4、截屏功能5、Unity文件操作路径一、前言
之前写了一篇关于Unity
常用的小技巧与设置,现在是Unity
,有部分小调整,专门写一篇关于Unity
的吧。
二、Unity常用窗口
1、Unity六大窗口
Unity
最主要的六大窗口(Scene、Game、Inspector、Hierarchy、Project、Console
)收录在Window - General
菜单中,相对应的快捷键可以记一下,至少记住Console
窗口的快捷键Ctrl+Shift+C
。
2、Game窗口分辨率设置
Game
视图标签下面点击会下拉出分辨率列表,Unity
已经将常用的分辨率内置在列表中,我们也可以点+
号添加自定义分辨率。
3、Scene窗口中3D图标的隐藏
如下,好大一个3D
图标在Scene
视图中,挡住了我们的Cube
,很碍眼
只需要把Scen
视图上的Gizmos
中的3D Icons
的勾选去掉即可
不过还是有个小小的摄像机icon
,我们可以直接点击Gizmos
按钮,这样连摄像机小icon
也不会显示了
4、摄像机与Scene窗口视角的相互同步
4.1、摄像机视角同步给Scene窗口视角
选中摄像机,点击菜单GameObject - Align View to Selected
,此时,选中的Scene
窗口就会以摄像机视角为准
4.2、Scene窗口视角同步给摄像机视角
选中摄像机,点击菜单GameObject - Align With View
,此时,选中的摄像机就会以Scene
窗口视角为准
5、Inspector组件的收起与展开
Collapse All Components
收起所有的Component
Expand All Components
展开所有的Component
6、Hierarchy窗口树节点的收起与展开
选中某个节点,按Alt+向左
收起所有节点,按Alt+向右
展开所有节点。
7、Project窗口筛选过滤
根据文件类型进行筛选过滤,方便快速查找文件
8、Console日志窗口
窗口中有几个按钮
Collapse
:收纳日志,会把相同的输出收纳起来
Clear on Play
:Unity
运行的时候,会清理掉日志
Error Pause
:当有Error
输出的时候,Unity
暂停运行
=经常有策划或美术在用unity的时候不小心点了Error Pause,然后运行的时候出现了Error日志,Unity暂停了运行,然后很吃惊地喊:“啊,我的unity卡死了”
9、PackageManager窗口
Unity .1
版本开始引入了包管理器Package Manager
窗口,点击菜单Window - Package Manager
即可打开
通过Package Manager
,我们可以安装、移除或更新Unity
很多非常棒的插件包,比如Shader Graph、Timeline、ProBuilder、Android Logcat
等。
如果搜索的某个插件包找不到,先确保过滤器这里选的是Unity Registry
10、Player Settings窗口
很多打包相关的设置在Player Settings
窗口中,下文提到的很多设置都与这个窗口有关。
点击菜单:File - Build Settings
,打开Build Settings
窗口,
再点击Player Settings
,
即可打开Player Settings
窗口,其实它是Project Settings
窗口中的Player
分页窗
三、Player Settings窗口常用设置
1、设置游戏名字
在Product Name
右边即可填写游戏名字
通过代码设置:
UnityEditor.PlayerSettings.productName = "testgame";
2、包名(Bundle ID)设置
打开Other Settings
下拉页,在Package Name
右边即可填写包名(Bundle ID
),一般格式是com.公司名.游戏名
代码方式设置:
// Unity5.x之前UnityEditor.PlayerSettings.bundleIdentifie = "com.linxinfa.mygame";// Unity以后UnityEditor.PlayerSettings.applicationIdentifier = "com.linxinfa.mygame";
3、设置版本号
打开Other Settings
下拉页,在Version*
和Bundle Version Code
右边即可填写版本号
建议用代码设置:
UnityEditor.PlayerSettings.bundleVersion = "1.0.0";#if UNITY_ANDROIDUnityEditor.PlayerSettings.Android.bundleVersionCode = 1;#elif UNITY_IOSUnityEditor.PlayerSettings.iOS.buildNumber = "1";#endif
关于Bundle Identifier、Bundle Version、Bundle Version Code区别,可参见我这篇文章:https://linxinfa./article/details/87693138
3、设置游戏icon
打开Icon
下拉页,即可设置游戏icon
代码方式设置:
PlayerSettings.SetIconsForTargetGroup(BuildTargetGroup platform,Texture2D[] icons);
注意第二个参数icons数组,Android一定要传6个图标,iOS一定要传15个图标,否则接口调用无效。
Unity用代码设置游戏icon,可以参见我这篇博客: /linxinfa/article/details/84248474
4、高清游戏图标压缩格式设置
参见我这篇博客:
Unity游戏icon压缩格式设置(解决图标不清晰问题):/linxinfa/article/details/84140334
5、设置闪屏
打开Splash Image
下拉页,即可设置游戏闪屏
Unity
用代码设置Splash Screen闪屏,参见我这篇博客:/linxinfa/article/details/87694417
6、横竖屏设置
打开Resolution and Pressentation
下拉页,在Default Orientation*
右边即可选择默认横屏竖屏
代码方式设置:
Screen.orientation = ScreenOrientation.LandscapeRight;
7、设置宏定义
打开Other Settings
下拉页,在Scripting Define Symbols
下即可设置宏定义,多个宏用分号隔开
#if MY_DEFINE1Debug.Log("Hello MY_DEFINE1");#endif#if MY_DEFINE2Debug.Log("Hello MY_DEFINE2");#endif
8、平台CPU类型设置
打开Other Settings
下拉页,在Target Architectures
下即可勾选发布平台支持的CPU
类型
上图中ARM64
不可勾选是因为Scripting Backend
用的是Mono
,如果想支持ARM64
,则Scripting Backend
必须选择IL2CPP
9、设置多线程渲染
打开Other Settings
下拉页,勾选Multithread Rendering
即可支持多线程渲染
关于多线程渲染:/p/44116722
10、设置锁帧率
然后点击Quality
页面,将VSync Count
设置成Don't Sync
,如果不设置成Don't Sync
,则及时代码中锁定了帧率也不会生效。
然后再在代码中设置帧率:
Application.targetFrameRate = 30;
11、设置固定时间步长(物理更新)
点击Time
页面,在Fixed Timestep
右边即可设置物理更新的固定时间步长
对于稳定的物理模拟来说,固定时间步长 (fixed time stepping
) 非常重要,物理计算必须独立于游戏的帧速率进行。诸如碰撞检测和刚体 (rigidbody
) 移动这样的物理计算是在独立于帧速率的离散固定时间步长中进行。
代码方式设置:
Time.fixedDeltaTime = 0.02f;
12、设置层的物理碰撞
点击Physics
页面,在Layer Collision Matrix
下即可勾选不同层与层之间的物理碰撞,对于不需要计算物理碰撞的层,可以把√
去掉,提升性能。
13、设置Layer层
点击Tags and Layers
页面,打开Layers
下拉页,即可编辑和添加新的Layer
层
14、设置Tags
点击Tags and Layers
页面,打开Tags
下拉页,即可编辑和添加新的Tags
15、设置引擎代码裁剪
这个只有苹果版的Unity
才有。
在Player Settings
窗口的Other Settings
下拉页中,有个Strip Engine Code
,勾选上之后,打包时会对代码进行裁剪,不打包没有用到的代码,比如一个2D
游戏没有用到Rigidbody
等物理类的组件,那么引擎的Rigidbody
相关的代码会被裁剪掉,从而缩小包体。
不过,此功能慎用,因为我栽过跟头,可参见我之前这篇博客:
《Unity通过AssetBundle加载资源实例化在iOS上崩问题的解决(Strip导致)》:/linxinfa/article/details/79757492
四、其他设置
1、保存文件提示设置
打开Preferences
窗口,菜单:Edit - Preferences
,打开General
页,勾选Verify Saving Assets
这样在Unity
编辑器中按ctrl+s
保存的时候,就会弹出一个询问框询问是否要保存被修改的文件。
我们可以选择性地进行保存
2、下载和配置Android Build Support
推荐通过Unity Hub
安装Android Build Support
3、设置JDK、Android SDK、NDK、Gradle
通过Unity Hub
安装Android Build Support
,下载的JDK、Android SDK、NDK、Gradle
都在下图中的目录中:Unity安装目录\Editor\Data\PlaybackEngines\AndroidPlayer
点击菜单Edit - Preferences...
,打开Preferences
窗口,选择External Tools
分页,即可设置JDK、Android SDK、NDK、Gradle
,默认都打勾即可。
五、代码常用
1、帧率FPS
var fps = 1.0f / Time.smoothDeltaTime();
2、Debug.Log输出带颜色的日志
Debug.Log(string.Format("<color=#ff0000>{0}</color>", "hello world"));Debug.Log(string.Format("<color=yellow>{0}</color>", "welcome to unity"));
十六进制颜色码表
/yingyong/yanse-rgb-16/
3、捕获Unity日志并上传到服务器
参见我这篇博客:https://linxinfa./article/details/107221307
4、截屏功能
参见我这篇博客:https://linxinfa./article/details/49493775
5、Unity文件操作路径
参见我这篇博客:https://linxinfa./article/details/51679528