UEDL4——EditorGUIUtility公共类
UEDL4——EditorGUIUtility公共类 EditorGUIUtility Utility是实用的意思,EditorGUIUtility 是 EditorGUI 中的一个实用工具类 提供了一些 EditorGUI 相关的其他辅助API,我们只需要学习其中的相对常用的内容 官方文档: Unity - Scripting API: EditorGUIUtility (unity3d.com)(英文文档) EditorGUIUtility - Unity 脚本 API(中文文档,较少内容未翻译,缺少一些静态方法描述) 本章包括以下内容: 资源加载 搜索框查询、对象选中提示 窗口事件传递、坐标转换 指定区域使用对应鼠标指针 绘制色板、绘制曲线
CS4L20——反射
CS4L20——反射 本章代码关键字 12345678910111213141516171819202122232425262728293031323334353637383940Type // 类型信息类object.GetType() // 获取一个变量的类型信息typeof() // 通过类名去获取类型信息Type.GetType() // 通过字符串获取类型信息type.GetMembers() // 通过类型信息获取类的所有成员信息// 构造函数信息type.GetConstructors() // 通过类型信息获取类的所有构造函数信息type.GetConstructor() // 通过类型信息和参数列表信息,获取类的一个特定的构造函数信息ConstructorInfo // 构造函数信息constructorInfo.Invoke() //...
UM1L4——Player Settings 打包安卓应用程序相关设置
UM1L4——Player Settings 打包安卓应用程序相关设置 Player Settings(打包安卓应用程序相关设置) Build Settings ——> Player Settings 即可直接进入进行相关设置 基础设置 公司名 项目名 版本号 默认图标 默认鼠标指针 光标贴图偏移 图标设置 Icon 设置在设备上显示的应用图标 Adaptive:运行在Android8.0及以上版本上的设备显示的应用图标 Round:运行在Android7.1及以上版本上的设备显示的应用图标 Legacy icons:运行在Android7.1以下版本上的设备显示的应用图标 里面的细分选项就是不同分辨率下的图标 分辨率和演示设置 Resolution and Presentation 分辨率和演示 Resoultion and Presentation Fullscreen Mode 全屏模式 Fullscreen Window:...
UM1L3——Build Settings 打包安卓应用程序相关设置
UM1L3——Build Settings 打包安卓应用程序相关设置 Build Settings(打包安卓应用程序相关设置) 新版本特有参数: Texture Compression:纹理压缩 设置发布后的纹理压缩格式 Use Player Settings: 使用在播放器设置中设置的纹理压缩格式 ETC:使用ETC格式(推荐) ETC2:使用ETC2格式 ASTC:使用ASTC格式 DXT:使用DXT格式 PVRTC:使用PVRTC格式 以前讲过相关内容,详见:U3L2-5——参数设置—平台设置 了解格式详细信息:Recommended, default, and supported texture formats, by platform - Unity 手册 注意:对于安卓ETC2是常用的压缩格式,支持透明通道。 但是对于老设备不支持ETC2,可以使用ETC。 我们可以统一设置为ETC2,在下方的ETC2 fallback中设置, 如果不支持ETC2,使用哪种压缩方式 ETC2...
UH3L13——客户端热更新路径优化
UH3L13——客户端热更新路径优化 当前需要优化的问题 不同平台的特殊路径,读取表现是不同的: Application.persistentDataPath Application.streamingAssetsPath UnityWebRequest或者WWW读取 C#文件流读取 UnityWebRequest或者WWW读取 C#文件流读取 PC 加 file:/// 无需处理 加 file:/// 无需处理 Android 加 file:/// 无需处理 直接用 不可用 IOS 加 file:/// 无需处理 加 file:/// 无需处理 如果我们不对不同平台加以判断,修改读取逻辑,可能就在不同平台上读取出现问题,因此我们需要优化热更新路径的逻辑 多路测试 通过预处理器指令#if ... #elif ... #else .......
UH3L11——编辑器窗口设计
UH3L11——编辑器窗口设计 前置知识点 IMGUI Unity编辑器:EditorWindow、[MenuItem()] 目标 将之前的编辑器功能整合到一个窗口中,并且在工具窗口中添加一个IP地址输入框,平台选择页签 代码实现 假设我们要实现这样的一个窗口: 1234567891011121314151617181920212223242526272829303132333435363738394041using UnityEditor;using UnityEngine;public class ABTools : EditorWindow{ private int nowSelIndex = 0; private string[] targetStrings = new string[] { "PC", "IOS", "Android" }; private string serverIP = "ftp://127.0.0.1";...
UM1L2——旧版Unity打包安卓应用程序
UM1L2——旧版Unity打包安卓应用程序 Unity2019以下的版本,相对新版本的Unity来说更麻烦 我们需要自己下载安装设置 JDK、NDK、Android SDK 准备好了他们 再设置基础关键信息 才能发布安卓.apk后缀的应用安装程序 Unity2019以下版本 发布Android准备工作 Android构建支持工具安装(Unity提供下载,安装时需要关闭Unity) JDK(Java开发工具包)(网络下载) JDK 必须是版本 8:Java Downloads | Oracle NDK (本地开发工具包)(网络下载)NDK 版本必须是 Unity2018——r16b,Unity2017——r13d 注意:NDK是可选的工具,如果之后要发il2cpp的应用程序,那么NDK是必须的,如果是Mono可以不使用它 Android NDK下载(r10~ r26b) 持续更新-CSDN博客 NDK 下载 | Android NDK | Android Developers (google.cn) Android...
UM1L1——新版Unity打包安卓应用程序
UM1L1——新版Unity打包安卓应用程序 Unity2019及以上发布Android准备工作 通过UnityHub安装Android平台相关工具 Android 构建支持 Android SDK(安卓软件开发工具包)、NDKTools(本地开发工具包) OpenJDK(Java开发工具包) 这些是发布安卓应用程序必备内容,安装了他们,才能发布安卓应用程序 注意:Unity支持Android 5.1及以上版本 在这里检查是否安装了 Android 构建支持,如果安装了则Build Setting可以显示该界面: 如果没有安装,请到Unity hub上为编辑器添加 Android 构建支持 一切准备就绪后,请选择安卓平台并点击切换平台(Switch Platform)选项 注:如果报错,请试试看先把Visual Studio关闭后再重新切换 发布必修改的设置 在File —— Build Setting —— Player Setting中修改 公司名 游戏项目名 版本号 默认图标 Other Settings ——...
CS5L14——unsafe
CS5L14——unsafe unsafe Unity移动开发内涉及内容,这里将其补充到C#知识补充内,它本身不属于C#知识补充的课程 默认情况下,C#是不支持 指针 的,unsafe 关键词用于在C#表示不安全的上下文, 如果想要在C#中进行任何和指针相关的操作,就必须配合 unsafe 关键词使用。 何为指针 指针(Pointer,简称ptr)是计算机编程中一个重要的概念,它是一种特殊的数据类型,用于存储变量的内存地址。 简单来说,指针指向了一个变量在计算机内存中的存储位置。指针就是地址,地址就是指针 每个变量在内存中都有一个地址,在编程中,通过定义指针变量,我们可以存储一个变量的地址, 这就使得我们可以通过间接的方式操作和修改变量,而不需要访问原始的变量名。 在公共语言运行时(CLR)中,不安全代码是指无法验证的代码。 C# 中的不安全代码不一定是危险的,只是 CLR 无法验证该代码的安全性。 因此,CLR...