移动平台开发
文章平均质量分 72
生活在他方
那天的流星划过天际,落入心中成为平凡的石头。
展开
-
TextMeshPro快速上手
Text Mesh Pro是Unity的新的文本显示对象,最大的优点是放大以后不会有锯齿,而且有更多的显示效果。缺点是需要配置才能使用,不像原来的直接就可以用。原创 2022-12-24 19:31:51 · 1892 阅读 · 0 评论 -
Unity常用动画插件DOTween快速上手
DOTween是最常用的动画插件之一,比使用Unity自带脚本写动画,方便很多。目录导入和设置使用说明通用方法便捷方法添加设置事件响应序列和参数控制协程和异步导入和设置DOTween在Unity的商城里,有免费版和收费版,一般使用免费版就足够了。收费版DOTween Pro看说明主要是多了一些辅助的编辑器。DOTween商城地址:http://dotween.demigiant.comDOTween首次使用需要设置,导入以后会弹出下面的窗口,点击按钮就好。之后点击绿色的“Setup DOTwe原创 2022-05-23 21:15:38 · 1511 阅读 · 0 评论 -
在Unity中使用Font Awesome图标字体
Font Awesome 是一个前端用到的图标字体,简单说是个特殊的字体,里面不是文字都是图标。用这种方法可以简单的做出即使放大很多也不会出现锯齿的图标,不过好像图标不需要放大很多的说。很好玩就是了。Font Awesome的官网是:https://fontawesome.com字体库有免费的有收费的,下载地址:https://fontawesome.com/download下载以后解压,把otf文件导入到Unity。之后,打开Text Mesh Pro生成字体资源的窗口Font Asset原创 2022-04-28 22:05:02 · 1520 阅读 · 0 评论 -
Vosk可以用于Unity的离线语音识别
Vosk是一个免费,开业,可商用,支持离线语音识别的东西,关键是可以在Unity中使用。Vosk可以离线语音识别,也可以自建语音识别服务区,支持多种语言,还支持在Unity中使用。整体而言,识别率还行,可以发布为windows,应该也能发布为安卓和苹果。性能还行,但是,只支持单一的中文。比如说,无法将12301识别为罗马数字而是识别成幺二三零幺。至于MP3,NBA就更无法识别了。没找到添加新词的办法,也没找到识别音频文件办法,只能将麦克风录制的语音识别出来。需要注意的几点语音模型解压目录不能有原创 2022-04-15 21:51:23 · 9425 阅读 · 3 评论 -
Unity3D开发电脑选择
有网友问,学习Unity3D开发,需要用什么配置的电脑,windows还是mac。windows还是mac2种我都有也都用,使用感受没关系。windows11也没问题。Unity3D在windows下只能打包windows应用,在mac下只能打包mac应用,这是选择的唯一区别。如果有这方面的强制需求,就选对应平台就好。如果没有这样的需求,随个人喜好就好。mac下打开Unity和写完代码返回的时候稍微比windows卡顿一些,但是不影响使用。机器性能选择这里用了一个官方场景在3台电脑跑了下,虽然我的原创 2022-02-21 21:53:08 · 6121 阅读 · 1 评论 -
Unity中的Json字符串转换
Unity中对Json字符串进行转换原创 2022-02-08 16:54:55 · 5173 阅读 · 0 评论 -
Unity2019学习:常用功能--输入,点击物体,UI击穿
Unity的输入主要都在Input类中实现,输入不光包括键盘,鼠标和触屏的输入,还包括设备姿态,加速度,罗盘,陀螺仪等。键盘按键输入键盘按键的主要方法有3个:GetKey:按住某个按键,按住不放会一直返回。GetKeyDown:按下某个按键,按住只会在第一帧返回。GetKeyUp:释放某个按键。 void Update() { if (Input.GetKey(KeyCode.A)) { Debug.Log("A");原创 2021-02-16 20:01:08 · 1118 阅读 · 0 评论 -
Unity2019学习:常用功能--Unity UI事件响应
Unity UI的事件响应有两种方式,一种是在编辑器绑定对应事件,一种是完全在脚本中完成。本质上没用区别。Unity UI事件响应都需要一个【EventSystem】游戏对象,如果场景中没用该游戏对象,则UI无法对事件进行响应。在添加Unity UI的时候,如果场景中没用该游戏对象,会自动添加。编辑器设置默认事件响应无参数 public void OnEvent() { Debug.Log("On Event"); }选中按钮,点击【On Click()】原创 2021-01-26 16:20:38 · 1971 阅读 · 2 评论 -
Unity2019学习:常用功能--Unity UI自动布局相关组件
Unity UI还提供了一些自动布局相关的组件。Aspect Ratio Fitter(宽高比适应器)Aspect Ratio Fitter宽高比适配器组件可以控制布局对象的大小,Aspect Ratio Fitter有2个属性,Aspect Mode用于设置适配模式,Aspect Ratio用于设置对象的宽/高比例。选项Width Controls Height和Height Controls Width可以通过宽度自动设置高度,或者通过高度自动设置宽度。Fit In Parent选项会根据父游原创 2021-01-26 15:44:08 · 1547 阅读 · 2 评论 -
关于用Unity实现校区AR导航毕业设计的建议
最近有人问,怎么用ARCore来做校园AR导航的毕业设计。因为不是第一个了,后面估计还会有,就专门说一下。先说室内导航,毕竟很多人问都是因为我做过AR室内导航的内容。AR室内导航有2种技术方式实现,运动跟踪和稀疏空间地图或云锚点。运动跟踪因为中途不能自动校正,而稀疏空间地图或云锚点能自动校正,所以后者更可靠,不推荐用运动跟踪实现。那么,可以用稀疏空间地图或云锚点实现校区范围的AR导航么?技术上可以,但是,做毕业设计的大概不行。用稀疏空间地图或云锚点实现AR导航,首先需要建立地图或者锚点。这里有手机建图原创 2021-01-18 11:53:18 · 3483 阅读 · 4 评论 -
Unity2019学习:常用功能--Unity UI的交互游戏对象
交互游戏对象是官方提供的一组用户界面常用的一些交互的游戏对象,包括Button按钮,Toggle开关,Slider滑动条,Scrollbar滚动条,Dropdown下拉选单和Input Field输入字段。Interactable(交互)选项Interactable选项默认选中,即可以进行交互。当去掉选项以后,则不可以交互,即不可以进行点击,输入,或者修改。Transition(过渡)选项Transition选项可以让交互游戏对象在不同状态显示效果不同,让使用者明确知道自己在操作哪个UI元素。Tr原创 2021-01-14 11:34:42 · 2310 阅读 · 0 评论 -
Unity2019学习:常用功能--Unity UI的文本和图像
文本和图像组件在官方文档中被称为Visual Components可视组件,是其他一些被称为Interaction Components交互组件基础。交互组件的外观都是由文本和图像组件构成的,Interaction Components交互组件的外观调整都是基于Visual Components可视组件。Text(文本)游戏对象Character(字符)属性中包括了Font(字体),Font Style(字体样式)等。中文内容在某些机型上会出现乱码或无法显示的情况,所以,用到中文最好还是设置字体,本人原创 2021-01-14 10:27:54 · 1370 阅读 · 0 评论 -
Unity2019学习:常用功能--Canvas画布
Canvas(画布)游戏对象是其他Unity UI的基础,其他的Unity UI必须是Canvas(画布)游戏对象的下级游戏对象。当UI内容发生变化的时候,是以画布为单位进行重绘,合理的将内容分配到不同的画布可以提高性能。Render Mode(渲染模式)Screen Space Overlay(屏幕空间-覆盖)屏幕空间-覆盖是根据屏幕分辨率进行渲染,不参考场景中的任何游戏对象或者摄像机,渲染之后将其绘制在其他所有内容之上。Screen Space Camera(屏幕空间-摄像机)屏幕空间-摄像原创 2021-01-05 09:03:32 · 1737 阅读 · 0 评论 -
Unity2019学习:常用功能--RectTransform脚本控制
RectTransform设置游戏对象大小位置的时候,不仅在Unity编辑器中与Transform不一样,程序控制上也不一样。RectTransform作为一个组件存在于游戏对象上,所有控制方法和属性都在该组件下。RectTransform下的rect类可以获取游戏对象的宽(rect.width)和高(rect.height),但是不可以直接设置。Pivot 轴心和 Anchors 锚点RectTransform类下的pivot属性可以用于获取和设置游戏对象的轴心。RectTransform类下的原创 2021-01-03 20:03:28 · 894 阅读 · 0 评论 -
Unity2019学习:常用功能--RectTransform
RectTransform矩阵变换主要用于用户界面,和普通游戏对象的Transform区别很大。RectTransform矩阵变换的Rotation旋转属性和Scale缩放属性和Transform的Rotation旋转属性和Scale缩放属性一样,没有变化。Pivot 轴心Pivot轴心属性是以当前游戏对象为坐标系,左下角为(0,0),右上角为(1,1)的一个点。旋转、大小和缩放修改都是围绕Pivot轴心进行的,因此Pivot轴心的位置会影响旋转、大小调整或缩放的结果。Anchors 锚点Anc原创 2021-01-01 16:40:33 · 636 阅读 · 0 评论 -
《Unity3D平台AR开发快速上手--基于EasyAR4.0》随书资源和相关说明
新手《Unity3D平台AR开发快速上手–基于EasyAR4.0》上市了,现在京东和淘宝都有卖。书分为2个部分,第一部分是EasyAR4.0基础内容和使用,第二部分是利用EasyAR的稀疏空间地图做室内导航的例子。这本书的运气不错,之前分享的链接似乎还能用。总之,除了官方在书里面提供的获取方式,还可以通过网盘获取。不过保不定啥时候就封了,看命吧。第一部分资料链接https://drive.google.com/drive/folders/1yeSBYy77XpANE3E4kxhklkK-foMa59.原创 2020-12-26 16:19:26 · 1451 阅读 · 3 评论 -
Unity2019学习:常用功能--Camera摄像机
Camera摄像机游戏对象是Unity场景中最重要的游戏对象。每个场景至少需要一个激活的Camera摄像机游戏对象,否则无法显示。玩家或者用户能看到的内容都是通过Camera摄像机游戏对象来展示的。添加或者新建场景以后,默认都会有一个名叫【Main Camera】的Camera摄像机游戏对象。Projection 投影Unity的Camera提供了2种投影模式,Perspective透视模式Orthographic正交模式。透视模式是近大远小的模式。[外链图片转存失败,源站可能有防盗链机制,建议将原创 2020-12-23 10:29:11 · 3670 阅读 · 0 评论 -
Ultimate Character Controller
Ultimate Character Controller是Opsive推出的一个针对FPS类游戏的开发插件,这个插件可以在Unity平台下通过相对简单的配置,快速的搭建出一个FPS游戏。官方提供了还算详细的使用说明和视频教程,虽然都是英文的,基本能够更着走。基本功能Ultimate Character Controller的基本功能包括第一人称视角/第三人称视角玩家控制,还有一些奇怪的视角。可以配置近身武器(刀剑),远程武器(弓箭,枪械),投掷武器(手榴弹),魔法攻击。可以设置击中效果(弹原创 2020-12-18 12:59:30 · 1861 阅读 · 0 评论 -
Unity常用插件:In-game Debug Console
In-game Debug Console插件可以在打包发布以后,程序运行时方便的看到控制台信息,在一些特定程序开发的调试过程中非常有帮助。例如在开发一些AR程序的时候,如果官方没有提供支持,则只能将程序发布到移动设备后才能调试,这个时候,能在移动设备看到控制台信息对于开发会方便很多。插件导入在Unity商城搜索“debug”就可以找到这款插件,类似的还有其他一些插件。这个插件体积小,更新也比较即时。导入的内容在【Plugins/IngameDebugConsole】目录下。插件使用将【Plug原创 2020-11-17 11:09:09 · 2906 阅读 · 4 评论 -
EasyAR4.1平面识别
EasyAR4.1发布以后,官方人员说增加了平面识别的功能,放在了运动跟踪里面。重新下载了官方示例,安装之后看了下,点击Motion Tracking运动跟踪以后,效果如下。运行效果会多出一个黑色的框在平面上,但是,示例中黑色框只会有一个。点击黑色框以后,会方式一个方块。方块可以在黑框范围内拖动。一旦放置了方块,就不会在其他位置有黑框了,必须点击按钮“Unlock Plane”之后,才能在新的位置有黑框。场景设置场景设置和原有的运动跟踪没区别,确实如官方所说是在运动跟踪的功能中增加了平面识别原创 2020-10-27 14:13:47 · 3201 阅读 · 1 评论 -
Unity2019在WebGL平台下播放音频
如果音频文件小,直接在Unity的Editor里面拖动设置即可。WebGL可以把音频放在StreamingAsstes目录下加载。 void Start() { StartCoroutine(GetAudioClip()); } IEnumerator GetAudioClip() { string path = Path.Combine(Application.streamingAssetsPath, "two.ogg").原创 2020-07-29 12:41:08 · 2485 阅读 · 3 评论 -
EasyAR4同时使用多个稀疏空间地图
EasyAR4的稀疏空间地图支持同时加载多个稀疏空间地图并使用。多个稀疏空间地图使用时候结构其实就是在场景中有多个SparseSpatialMap游戏对象,每个游戏对象对于一个具体的稀疏空间地图。从代码上也不复杂,设置每个SparseSpatialMap的ID,名称,事情和其他设置。然后,统一用SparseSpatialMapWorkerFrameFilter的.Localizer.startLocalization()方法进行本地化即可。//获取地图信息,list是地图信息字符串列表var li原创 2020-06-29 09:54:34 · 1179 阅读 · 8 评论 -
Unity Remote使用说明
Unity Remote是Unity公司提供的一个移动端同步调试工具,在Unity编辑器中以播放模式运行项目时,该应用程序将与Unity连接。 编辑器的可视输出被发送到设备的屏幕,实时输入被发送回Unity中正在运行的项目。这样可以节省项目调试的时间。下载Unity Remote之前就有,东躲西藏,以前在商城里,后面被移出商城了。现在在发布公告的页面可以下载。官方说明地址:https://docs.unity3d.com/Manual/UnityRemote5.html要求安卓版的要求本地有原创 2020-06-02 15:11:24 · 9748 阅读 · 5 评论 -
Unity2019安卓平台新手安装设置建议
第一次安装对于初学者,建议一定使用Unity Hub进行安装。Unity Hub下载地址:https://unity.cn/releases安装完Unity Hub以后,安装Unity2019。Unity安装目录,项目目录,发布APK的目录,最好都没有中文,否则容易出错。第一次安装的Unity2019的安卓平台内容,一定要选上【Android SDK & NDK Tools】和【OpenJDK】。安装完成以后,新建一个项目,打开Unity2019。在【Preferences】窗口的【原创 2020-05-29 16:05:29 · 7368 阅读 · 4 评论 -
EasyAR4.0使用说明(Unity3D)(九)----屏幕录像
屏幕录像不是增强现实的功能,只是EasyAR SDK自带的一个功能。该功能限制颇多,只能在移动设备上使用,而且没有办法直接录制UI界面。屏幕录像功能本质上录的是RenderTexture。总体说明主要是在基础结构上添加了一个【VideoRecorder】游戏对象。另外,需要动态的往【Main Camera】主摄像机游戏对象上添加【CameraRecorder】脚本。CameraRecord...原创 2020-05-01 15:01:56 · 1892 阅读 · 3 评论 -
EasyAR4.0使用说明(Unity3D)(八)----稠密空间地图
稀疏空间地图的作用主要是定位,而稠密空间地图主要作用就是重建。利用RGB相机图像对周围环境进行三维稠密重建,得到稠密的点云地图和网格地图,再利用网络地图对虚拟物体实现遮挡和碰撞。稠密空间地图官方没有提供持久化的方法。官方给出了稠密空间地图的介绍和使用建议。https://help.easyar.cn/EasyAR%20Sense/v4/Guides/EasyAR-Dense-Spatial-M...原创 2020-05-01 11:36:34 · 2391 阅读 · 6 评论 -
EasyAR4.0使用说明(Unity3D)(七)----稀疏空间地图
稀疏空间地图的对应用环境的要求和平面图像识别可以比照理解,周围环境需要足够丰富,不能有大片的单色区域,透明区域。此外,光照,角度都会对建立地图和定位产生影响。官方给出了建立地图和定位地图的建议。https://help.easyar.cn/EasyAR%20Sense/v4/Guides/EasyAR-Sparse-Spatial-Map.html总体说明稀疏空间地图的基础是运动跟踪,所有在...原创 2020-04-30 18:08:25 · 5642 阅读 · 20 评论 -
EasyAR4.0使用说明(Unity3D)六----表面跟踪和运动跟踪
表面跟踪和运动跟踪很类似,其目的都是通过感知设备在现实空间的变化来实现将3D模型显示得像是在现实空间某个位置的感觉。实际使用的方式也很类似,只要将物体放置在【WorldRoot】游戏对象下成为其子游戏对象就能自动实现跟踪效果。 表面跟踪对设备的要求更低,支持的设备更多,但是效果更差一些,而且场景中只能放置一个虚拟物体。能实际应用的场景其实不多。运动跟踪对设备有要求,官方给出了设备支持列表:地址:...原创 2020-04-29 11:25:10 · 4239 阅读 · 6 评论 -
EasyAR4.0使用说明(五)----3D物体跟踪
3D物体跟踪总体上是和平面图像跟踪差不多的,设置,包括程序控制,识别多个对象。区别只是目标对象的不同。总体说明3D物体跟踪对3D物体的纹理,也就是表面的图案的丰富程度是有要求的,纹理如果是简单的色块组成的效果并不很好。官方对被跟踪的3D物体的详细要求可以查看官方网站的文档地址:https://help.easyar.cn/EasyAR%20Sense/v4/Guides/EasyAR-3D-...原创 2020-04-28 17:04:06 · 4327 阅读 · 3 评论 -
EasyAR4.0使用说明(Unity3D)(四)----云识别
EasyAR 云识别的图库默认 10 万张图片,同时提供了对图库图片进行操作的 API 接口。这里主要说明的是如何实现云识别。个人版一个账号只有 28 天的免费使用时间段,初学者一定要在准备学习云识别的时候再建立云图库,否则很快会过期的。总体说明云识别主要是在平面图像识别的 Tracker 预制件中添加了Cloudrecognizer游戏对象。通过设置该游戏对象的enable属性,可以...原创 2020-04-28 11:04:48 · 1738 阅读 · 7 评论 -
EasyAR4.0使用说明(Unity3D)三----平面图像跟踪扩展:视频播放,涂涂乐
播放视频平面图像识别以后播放视频也是一种经常被用到的增强现实的表现方式。通常是截取视频第一帧的图片作为识别图片,识别以后播放视频。这样就给人一个图片动起来的错觉。在场景中设置Main Camera的Clear Flags属性为Solid Color。 将EasyAR/Prefabs/Composites目录下的EasyAR_ImageTracker-1预制件拖到场景中。 将EasyAR...原创 2020-04-27 20:31:02 · 2399 阅读 · 5 评论 -
EasyAR4.0使用说明(Unity3D)(二)----平面图像跟踪
总体说明平面图像跟踪对图像有一定的要求,纹理细节丰富,纹理不是简单重复,长宽比不能太大。 官方提供了图像检测工具,将图像上传到指定地址,可以知道可识别度。地址:https://www.easyar.cn/targetcode.html平面图像跟踪主要是ImageTracker和ImageTarget这两个游戏对象,每个ImageTarget对应一个被跟踪的图像,场景中也可以同时出现多个Im...原创 2020-04-26 14:32:58 · 3876 阅读 · 7 评论 -
EasyAR 4.0使用说明(Unity3D平台)(一)----基本设置和总体说明
简单说明官方网址:http://www.easyar.cn/EasyAR Sense(SDK)提供了平面图像跟踪(图片识别),3D物体跟踪(物体识别),运动跟踪,稀疏空间地图,稠密空间地图等功能。,在官方的例子中,除了识别图片显示模型,播放视频外,还提供了涂涂乐的例子。EasyAR 4分个人版,专业版和企业版。个人版免费使用,但是有水印(在屏幕右下角)。云识别,手势识别和姿势识别的免费...原创 2020-04-25 20:46:42 · 4428 阅读 · 1 评论 -
EasyAR4.0简单使用说明
EasyAR4.0在去年底推出,新增了运动跟踪,稀疏云地图等功能。注册,基本设置EasyAR使用需要先注册用户,平面图像跟踪,物体跟踪,表面跟踪的功能只需要添加“Sense License Key”即可。如果需要使用稀疏云地图,则还需要添加“API KEY”Sense License Key是和应用的Package Name/Bundle ID绑定的。在导入EasyAR S...原创 2020-02-21 21:41:43 · 7140 阅读 · 0 评论 -
基于EasyAR运动跟踪的室内导航
EasyAR4.0带了运动跟踪功能,用这个试着做了个室内导航的例子。基于运动跟踪的室内导航,效果不理想,一是偏差还是比较大,二是导航开始的时候需要扫描特定图片。原理很简单,利用运动跟踪功能,及当移动设备在空间移动的时候,能够很准确的知道设备当前的位置角度的变化。简单说就是,设备在空间中向某个方向移动了多少距离,设备自己是知道的。利用运动跟踪这个特性,在Unity中建立一个和现实要导...原创 2020-02-14 20:03:58 · 4811 阅读 · 12 评论 -
construct2游戏开发学习(三):条件判断
条件判断在添加事件的时候,可以添加条件判断和if语句一样,可以有多种判断if红框中的部分,相当于c#语句if(gnum==0){ //doing something;}And选中条件点击右键,可以继续添加新的条件默认两个条件间是和的效果,下图红框中的效果相当于c#语句if(gnum>0&&gn原创 2017-03-28 15:34:38 · 3095 阅读 · 0 评论 -
construct2读取xml
construct2官网上的说明,配的图实在太小,非常鄙视之。construct2可以从网络或者本地读取xml数据,这里以本地文件为例1、需要添加xml和ajax组件2、新建xml文件 Harry Potter J K. Rowling 2005 29.99 Everyday Ita原创 2017-04-19 15:56:56 · 1241 阅读 · 0 评论 -
construct2表单组件添加样式
construct2里面的表单组件都可以通过css样式来改变其外观。添加一个按钮此时预览方法一、通过“Set CSS style”来改变但是每次只能改变一个属性,效率非常低。完整代码预览方法二、通过ID,在导出后实现。新建css文件@charset "utf-8"原创 2017-04-20 11:14:33 · 1341 阅读 · 0 评论 -
unity3d 尝试 基于地理定位的 增强现实
首先说,这个尝试失败,属于死在去医院的路上那种。基于地理定位的增强现实,AR全息实景,是一种高大上的说法,说直白点就是山寨类似随便走这样的应用。打开应用,搜索周边信息,然后再把信息叠加在摄像头拍摄到的内容上面。思路:用手机移动来控制unity中的camrea,将摄像头拍摄到的内容作为背景。获取地理信息,将信息转化成文字添加到unity的世界中。1、用手机移动控制unity中的camrea。这段代码...原创 2016-03-11 11:46:42 · 20597 阅读 · 35 评论 -
EasyAR SDK 学习小结
基本内容官网地址:https://www.easyar.cn/当前版本:2.3.0版本和功能对照:基本结构:图片识别度检测工具:https://www.easyar.cn/targetcode.htmlEasyAR常用的都做成了Prefab了,直接使用即可。Key需要输入在“Tracker”里图片识别图片识别设置图片识别数量物体识别...原创 2019-01-23 14:16:20 · 1346 阅读 · 0 评论