qingnia / vrog

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

vrog

代码规范

编码格式UTF-8

# VS调出保存格式的操作步骤:
https://blog.csdn.net/NSJim/article/details/123253659

# VS安装插件,强制保存为UTF-8
扩展 --> 管理扩展 --> 联机 --> 搜索force UTF-8(No BOM) --> 下载 --> 重启VS

C#语法和接口

值类型和引用类型的区别

参考博文

struct是值类型,class是引用类型
如果赋值struct,修改变量后原值还是不变,但是改成class就可以修改原值

时区TimeZoneInfo类

delegate委托

异步操作

sync修饰符

await运算符

//async标识的函数还是同步执行的,只有await声明的那一行才会暂停,等待异步返回结果
    //发起登录请求,await后更新UI
    public async void OnSignIn()
    {
        await AuthenticationService.Instance.SignInAnonymouslyAsync();
        playerId = AuthenticationService.Instance.PlayerId;

        Debug.Log($"Signed in. Player ID: {playerId}");
        UpdateUI();
    }

项目用到的unity功能及教程

UI

UI ToolKit

游戏UI用UGUI和UI ToolKit都可以,编辑器的UI开发官方推荐用ToolKit
UI ToolKit参考了HTML+CSS+JS的工作流,动画和数据支持的更好
UI ToolKit更接近一个窗口一个对象,需要一套管理,可惜不支持3D场景也不支持shader
UGUI是传统树状gameObject,估计要被淘汰掉

本项目重点不在UI,再加上长远目标是VR/AR,所以选择UGUI

官方文档

布局

pivot与anchor的使用

字体

常规语言不要用TextMeshPro,美术的艺术字才需要,不然包体会很大

unity生成中文字体库

字体缺少特定符号导致unity告警

FontZip工具

杂项

根据alpha值判断是否可点击,实现非长方形按钮

本地化插件Localization

官方文档

AI插件NodeCanvas

官网

节点概述

nav mesh 官网文档

nav导航

动态导航

dynamic是指每帧重复判断,选择节点一般都要做,只有BOSS二阶段这种特殊情况才不需要勾选

摇杆

joystick 接入

timeline

基本介绍

摄像机动画

自定义新track

概念(图多但费劲)

快速创建自定义脚本/文件

修改Editor/CustomUnityEditor,支持新选项
在Edutor/ScriptTemplates下创建文件模板,对应的代码读新模板

定义变量的get/set方法后编辑器不可见,挂脚本解决

源码地址

unity官方扩展插件(待了解)

UI ToolKit

内存分析

URP

Unity Relay完整的网络解决方案

lobby例子

NetCode

Vivos unity的文字和语音聊天方案

UGS例子1 BossRoom 勉强适配2022.2

BossRoom介绍

UGS例子2 u2021.2

About


Languages

Language:C# 92.8%Language:ShaderLab 5.6%Language:Mathematica 0.7%Language:HLSL 0.7%Language:Rich Text Format 0.2%