UM1L6——Unity内调试安卓应用程序
UM1L6——Unity内调试安卓应用程序 调试指的是什么 我们在这里提到的调试,主要指的是 安卓手机的真机调试 我们在开发前期,开发测试功能都是在Unity内完成的 当我们真正把发布的 apk 安装到手机上运行时 由于运行环境的改变(开发时在 Windows 或 MacOS,使用时在Android或IOS) 我们很多时候需要在真机上进行项目的 性能分析 和 bug处理(断点调试修复bug) 那么这时我们就需要学习如何通过Unity连接真机 来进行项目调试了 准备测试用安卓手机 安卓手机需要打开开发者模式 可以根据自己的手机品牌自行搜索开启方式 一般的操作方式:设置——>关于手机——>版本号(多次连点版本号) 便可开启 在手机的开发者选项中 开启 USB调试功能 一般开发者选项会在:设置——>系统——>开发者选项中,找到USB调试功能 开启它 将手机通过USB接入到你的电脑上,在手机上一般会弹出一个提示,选择允许进行USB调试 在Unity中进行调试相关设置 在 File ——> Build Settings...
UEDL8——Handles公共类
UEDL8——Handles公共类 本章代码关键字 123Handles //处理类,可以为某个脚本对象或者自定义编辑器窗口拓展在Scene窗口上的显示,可以自定义绘制内容OnSceneGUI() { } //为某个脚本对象扩展在Scene窗口上的显示时,就需要在该方法内编写绘制逻辑SceneView.duringSceneGui //为某个自定义编辑器窗口扩展在Scene窗口上的显示时,就需要将实现了绘制逻辑的方法添加到该事件内,窗口关闭时需要移除 Handles Handles 类提供了很多API,让我们可以在Scene窗口中绘制我们的自定义内容 它和 GUI、EditorGUI...
UEDL7——Inspector窗口拓展
UEDL7——Inspector窗口拓展 本章代码关键字 1234567891011121314151617[CustomEditor()] //如要让类为另外一个类拓展在Inspector窗口的显示,需要添加该特性Editor //编辑器类,如要让类为另外一个类拓展在Inspector窗口的显示,需要继承它SerializedProperty //代表被拓展的脚本对象中的属性,我们可以通过它来修改被拓展的脚本对象中的属性SerializedObject //代表被拓展的脚本对象,可获取被拓展的脚本对象中的属性,修改其在Inspector窗口的显示内容editor.serializedObject ...
UM1L5——Android Studio打包安卓应用
UM1L5——Android Studio打包安卓应用 通过Unity导出Android Studio能够打开的工程 步骤: 设置导出基本信息:公司名、游戏名、图标、包名、密钥等关键信息 在File ——> Build Settings中,勾选 Export Project 选项 点击Export 导出按钮 如果不需要将Unity功能嵌入到Android项目中进行二次开发,那我们一般不使用该种打包方式 在Android Studio中打开Unity导出的工程 最新版Android Studio下载地址:下载 Android Studio 和应用工具 - Android 开发者 | Android Developers (google.cn) 关于Android Studio版本 学习阶段,强烈建议不要使用最新的版本来打开Unity2021导出的Android Project,很有可能出现目前无法解决的多种错误 建议使用和课程一致的Android Studio版本(2021.2),它出现意料之外的问题最少 步骤: 打开Android...
UEDL6——Event公共类
UEDL6——Event公共类 本章代码关键字 12345678910111213141516171819Event.current //获取当前事件Event.current.alt //判断alt键是否按下Event.current.shift //shift键是否按下Event.current.control //ctrl键是否按下Event.current.isMouse //是否是鼠标事件Event.current.button //判断鼠标左中右键,0,1,2 分别代表 左,右,中Event.current.mousePosition //鼠标相对于窗口坐标系的位置Event.current.isKey //判断是否是键盘输入Event.current.character //获取键盘输入的字符Event.current.keyCode ...
UEDL4-5——绘制色板、绘制曲线
UEDL4-5——绘制色板、绘制曲线 本章代码关键字 12EditorGUIUtility.DrawColorSwatch() //绘制色板,便于EditorGUILayout.ColorField选取固定的颜色EditorGUIUtility.DrawCurveSwatch() //绘制曲线,主要配合EditorGUILayout.CurveField使用,它可以更好的显示绘制的曲线 绘制色板 在指定区域绘制一个色板矩形(相对于EditorGUI.DrawRect,它的不同点是会在矩形底部加一个白色部分) 主要配合EditorGUILayout.ColorField使用,可以使用取色器快速获取指定的默认颜色 123456private Color color;private void OnGUI(){ color = EditorGUILayout.ColorField(new GUIContent("选取颜色"), color, true, true, true); ...
UEDL4-4——指定区域使用对应鼠标指针
UEDL4-4——指定区域使用对应鼠标指针 本章代码关键字 123EditorGUIUtility.AddCursorRect() //指定区域使用对应鼠标指针EditorGUI.DrawRect() //在编辑器窗口的特定区域绘制颜色MouseCursor //鼠标光标类型枚举 指定区域使用对应鼠标指针 顾名思义,就是让特定区域(由Rect决定)的鼠标指针变为另一个图标(图标由MouseCursor决定) 12345private void OnGUI(){ EditorGUI.DrawRect(new Rect(10, 200, 100, 100), Color.green); EditorGUIUtility.AddCursorRect(new Rect(10, 200, 100, 100),...
UEDL4-3——窗口事件传递、坐标转换
UEDL4-3——窗口事件传递、坐标转换 本章代码关键字 123456789EditorGUIUtility.CommandEvent() //生成一个命令事件,需要传入事件名editorWindow.SendEvent() //向窗口发送消息Event.current.type //获取当前事件的类型EventType.ExecuteCommand //事件类型为执行命令Event.current.commandName //获取当前的事件名,可用于确认是否是监听事件EditorGUIUtility.GUIToScreenPoint() //将点从GUI位置转换为屏幕空间EditorGUIUtility.GUIToScreenRect() //将rect从GUI位置转换为屏幕空间EditorGUIUtility.ScreenToGUIPoint() ...
UEDL4-2——搜索框查询、对象选中提示
UEDL4-2——搜索框查询、对象选中提示 本章代码关键字 123456EditorGUIUtility.ShowObjectPicker<>() //执行该方法会弹出一个搜索特定对象的窗口,用于选择自己想要的资源EditorGUIUtility.GetObjectPickerObject() //它可以获取搜索框窗口上选择的对象,需要配合Event事件类相关内容来在正确的时机调用Event.current.commandName //获取当前事件命令的名字,可以通过这里的名字与特定事件名比较来确认当前为何种事件"ObjectSelectorUpdated" //对象选择窗口的对象选择发生变化时发送的事件命令的名字"ObjectSelectorClosed" //对象选择窗口关闭时发送的事件命令的名字EditorGUIUtility.PingObject() ...
UEDL4-1——资源加载
UEDL4-1——资源加载 本章代码关键字 12EditorGUIUtility.Load() //加载Editor Default Resources文件夹下的资源,需要传入资源名(包括后缀名)EditorGUIUtility.LoadRequired() //加载Editor Default Resources文件夹下的资源,需要传入资源名(包括后缀名),但如果没有加载到会报错 Editor Default Resources文件夹 Editor Default Resources 也是Unity当中的一个特殊文件夹,它的主要作用是放置提供给 EditorGUIUtility 加载的资源 想要使用 EditorGUIUtility 公共类来加载资源,我们需要将资源放置在 Editor Default Resources 文件夹中 加载资源 对应API:EditorGUIUtility.Load 注意事项: 只能加载Assets/Editor Default...