目录

基础资料

Unity3D官网

Unity3D Realese版本

Unit3D LTS

Uinty Asset Store

Unity wiki 百科http://wiki.unity3d.com/index.php/Main_Page

http://wiki.unity3d.com/index.php/Category:C_Sharp

Unity 资源提取工具:UnityStudio

Unity 时序图:https://docs.unity3d.com/Manual/ExecutionOrder.html

Unity机器学

Unity机器学习Github地址:https://github.com/Unity-Technologies/ml-agents

Unity项目单元测试工具:https://github.com/ThrowTheSwitch/Unity

Unity实验室:https://unity.com/cn/labs

Unity MARS 入门:https://docs.unity3d.com/cn/Packages/com.unity.mars@1.0/manual/GettingStarted.html

github不错的开源项目:https://github.com/baba-s/awesome-unity-open-source-on-github

问题库

使用UnityWebRequest进行HTTP身份验证

进入

VSCode 工具

untiy 工具选择:https://code.visualstudio.com/docs/other/unity

常用插件:

  1. C# XML Documentation Comments
  2. Bracket Pair Colorizer
  3. C#
  4. Chinese (Simplified) Language Pack for Visual Studio Code
  5. Debugger for Unity
  6. Unity Tools
  7. Auto-Using for C#

运行 NuGet 包还原以生成此文件

运行dotnet build ,自动还原nuget包

TakePhoto Unity 拍照功能不能连续拍摄

unity特别说明了一下内容 StartPhotoModeAsync:在任何给定时间,只有一个PhohotCapture实列可以启动拍照模式。所以用线程安全的单例进行控制拍摄。

'PrefabUtility.GetPrefabType(Object)' is obsolete: 'Use GetPrefabAssetType

PrefabUtility.GetPrefabAssetType(go) == PrefabAssetType.Regular

游戏常用设计模式

进入

FPS

[Header("是否显示帧率")]
    public bool IsShowFPS;
 
void Update()
    {
        deltaTime += (Time.unscaledDeltaTime - deltaTime) * 0.1f;
    }
 
    void OnGUI()
    {
        if (IsShowFPS)
        {
            int w = Screen.width, h = Screen.height;
 
            GUIStyle style = new GUIStyle();
 
            Rect rect = new Rect(20, 20, w, h * 2 / 100);
            style.alignment = TextAnchor.UpperLeft;
            style.fontSize = h * 2 / 80;
            //new Color (0.0f, 0.0f, 0.5f, 1.0f);
            style.normal.textColor = Color.red;
            float msec = deltaTime * 1000.0f;
            float fps = 1.0f / deltaTime;
            string text = string.Format("{0:0.0} ms ({1:0.} fps)", msec, fps);
            GUI.Label(rect, text, style);
        }
    }

内存泄漏问题

后来做完这次优化,我再次感受到,出现这些泄露的原因归根结底还是代码不够规范引起的,不注重必要的初始化和释放成对调用等,大致总结起来有以下几点:

总结起来很简单,这次优化就大致发现这几条,但是都不经意间,日积月累,引起了比较严重的问题,所以不要小看代码规范,和框架的遵守。

Detecting current sdk build tools version

安卓平台发布卡住在Detecting 问题,原因网络问题,解决办法:

方法1:断开无线网发布。

方法2:修改网络属性的DNS服务器地址:首选地址:114,114,114,114。然后断网重连或者重启计算机。

Unity 配置Visual Studio 2022 环境

Editor→Preferences→External Tool→External Script Editor 选择vs安装路径。

打开PackageManager 选择Unity Registry 搜索 Visual Studio 安装Visual Studio Code Editor,Visual Studio Editor.

Unity 服务器 无界面模式

-batchmode -nographics

Vulkan detection: 0 No supported renderers found, exiting

Player→Vulkan Settings →select SRGB Write Mode*