UEDL10——Gizmos公共类
UEDL10——Gizmos公共类 本章代码关键字 Gizmos类 Gizmos 和 Handles 一样,是用来让我们拓展Scene窗口的 而 Gizmos 相对 Handles 来说,它主要专注于绘制辅助线、图标、形状等 而 Handles 主要用来绘制编辑器控制手柄等 关于Gizmos类更多具体消息: Gizmos - Unity 脚本 API(中文文档,翻译缺失较多) Unity - Scripting API: Gizmos (unity3d.com)(英文文档) Gizmos响应函数 在继承 MonoBehaviour 的脚本中实现以下函数,便可以在其中使用Gizmos来进行图形图像的绘制(因此,脚本不能放到Editor文件夹内) OnDrawGizmos():在每帧调用,绘制的内容随时可以在Scene窗口中看见 OnDrawGizmosSelected():仅当脚本依附的GameObject被选中时才会每帧调用绘制相关内容 123456789101112public class Lesson33 :...
UEDL9——HandleUtility公共类
UEDL9——HandleUtility公共类 本章代码关键字 1HandleUtility.WorldToGUIPoint() HandleUtility公共类 HandleUtility 是 Unity 中的一个工具类 用于处理场景中的编辑器句柄(Handles)以及其他一些与编辑器交互相关的功能 它提供了一系列静态方法,用于处理编辑器中的鼠标交互、坐标转换以及其他与Handles相关的功能 HandleUtility的更多内容可看: HandleUtility - Unity 脚本 API(中文文档,翻译缺失较多) Unity - Scripting API: HandleUtility (unity3d.com)(英文文档) 回顾如何获取窗口上鼠标位置 具体可看:Event.current.mousePosition HandleUtility类中的常用API HandleUtility.GetHandleSize(Vector3...
UEDL8-5——显示GUI
UEDL8-5——显示GUI 本章代码关键字 123Handles.BeginGUI()Handles.EndGUI()SceneView.currentDrawingSceneView.position Scene中显示GUI 需要使用两个方法,Handles.BeginGUI(),Handles.EndGUI(), 在两个方法之间编写GUI绘制代码即可 123456789private void OnSceneGUI(){ Handles.BeginGUI(); if (GUILayout.Button("测试按钮")) { Debug.Log("Scene中的按钮响应"); } ...
UEDL8-4——自由移动、自由旋转
UEDL8-4——自由移动、自由旋转 本章代码关键字 123HandleUtility.GetHandleSize() //该方法需要传入一个位置,返回一个float值,该值可以用于缩放,使绘制在Scene窗口上的内容相对于摄像机的大小不变Handles.FreeMoveHandle() //为点或者对象添加自由移动的控制器Handles.FreeRotateHandle() //为点或者对象添加自由旋转的控制器 让句柄(控制器)在Scene窗口上显示的大小恒定 HandleUtility.GetHandleSize()方法用于获取在 Scene...
UEDL8-3——移动、旋转、缩放
UEDL8-3——移动、旋转、缩放 本章代码关键字 1234567Handles.PositionHandle() //为某个点加上移动轴,方便在Scene窗口上控制其位移Handles.DoPositionHandle() //同上Handles.RotationHandle() //为某个点加上旋转轴,方便在Scene窗口上控制其旋转Handles.DoRotationHandle() //同上Handles.ScaleHandle() //为某个点加上缩放轴,方便在Scene窗口上控制其缩放Handles.DoScaleHandle() //同上HandleUtility.GetHandleSize() ...
UEDL8-2——弧线、圆、立方体,几何体
UEDL8-2——弧线、圆、立方体,几何体 本章代码关键字 123456Handles.DrawWireArc() //绘制弧线Handles.DrawSolidArc() //绘制扇形Handles.DrawWireDisc() //绘制线框圆Handles.DrawSolidDisc() //绘制填充圆Handles.DrawWireCube() //绘制线框立方体Handles.DrawAAConvexPolygon() //绘制平面多边形 Handles中的弧线和扇形 绘制线框弧线:Handles.DrawWireArc(圆心, 法线, 绘制朝向, 角度, 半径); 绘制填充弧线(扇形):Handles.DrawSolidArc(圆心, 法线, 绘制朝向, 角度,...
UEDL8-1——文本、线段、虚线
UEDL8-1——文本、线段、虚线 本章代码关键字 123456Handles.color //设置在Scene窗口上绘制内容时使用的颜色,对绘制文字不起作用Handles.Label() //文本控件,在Scene窗口上绘制文本Handles.DrawLine() //线段控件,在Scene窗口上绘制线段Handles.DrawLines() //多段线段控件,在Scene窗口上绘制多段的线段Handles.DrawDottedLine() //虚线控件,在Scene窗口上绘制虚线Handles.DrawDottedLines() //多段虚线控件,在Scene窗口上绘制多段的虚线 Editor中的target成员 我们可以利用继承Editor基类中的target成员获取到拓展的组件对象 例如我们要获取Lesson26依附的GameObject的位置 1234567891011121314151617181920using...
UM4L3——获取SDK完成准备工作
UM4L3——获取SDK完成准备工作 下载SDK 网址:Android定位SDK | 百度地图API SDK (baidu.com) 根据自身需求,选择合适功能的SDK进行下载 为了方便接入,我们下载jar包 完成第三方平台账号注册 按照此网页的要求注册并获取密钥即可:Android定位SDK | 百度地图API SDK (baidu.com)(强烈建议使用注册选择个人开发者!) 生成对应密钥 首先在控制台创建应用: 根据SDK说明文档中教程获取对应的SHA码,使用终端获取SHA1码 如果提示错误信息(keytool找不到),尝试使用命令控制台,进入Android Studio安装路径下的\jre\bin\中使用指令 然后将包名和SHA1码输入: 得到AK码,使用SDK前输入该密钥即可正常使用SDK,
UM4L2——接入所有第三方SDK的套路
UM4L2——接入所有第三方SDK的套路 接入所有第三方SDK的套路 阅读官方接入文档 合作方提供 官方网站获取 按照接入文档中内容进行操作 依赖配置、权限配置等 API使用说明 接入过程中,根据报错解决问题 注意: 若第三方提供针对Unity的SDK直接使用即可,一般不需要创建交互项目 若没有提供,一般都是针对Android和IOS单独的支持,需要创建交互项目
UM4L1——交互项目创建
UM4L1——交互项目创建 注意:本章所有知识点均为UM3L1——交互项目创建中内容 由于我们要在Android平台集成第三方的SDK 因此自然联想到,我们需要Unity和Android之间进行交互,需要在Unity端调用Android端开发好的东西 所以我们需要创建交互项目,之后就在Android交互项目中引入第三方SDK进行逻辑开发 创建Unity和Android Studio项目 创建Unity项目后,切换到Android平台,设置包名和Android版本 设置流程参考:UM1L1——新版Unity打包安卓应用程序 创建Android Studio 选择 Phone and Tablet,创建一个Empty Activity项目 注意: 包名和Minimum SDK版本要和Unity项目一致,若没有相同SDK版本,请在Android Studio中下载 创建完成后,等待加载结束后,删除工程中两个Test项目以及res下的无用资源 配置build.gradle文件 在Android...