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...
UM3L6——Android中嵌入Unity内容
UM3L6——Android中嵌入Unity内容 Android中嵌入Unity内容 在进行 Android 开发时,可能会有需求显示 Unity 开发的 3D 内容,一开始我们启动的是 Android 应用程序中的 Activity 通过 Activity 我们想要打开 Unity 开发的内容进行展示,这就是 Android 中嵌入 Unity 内容的意思 注意: Android 中嵌入 Unity存在限制问题,退出 Unity 所在的 Activity 会退出整个 App,不能达到我们想要的需求 所以如果存在 Android 和 Unity 混合开发的情况,建议采用上节课的Unity中嵌入Android 的方式,本节课内容主要做为拓展知识 新建Unity测试项目 在该项目中添加一些测试内容,比如方块旋转 123456789using UnityEngine;public class Test : MonoBehaviour{ void Update() { ...