Unity问题解决
文章平均质量分 76
81192_csdn
喜欢创造新世界
展开
-
Unity工程导入Android工程
文章目录1.前言2.集成到原生Android步骤2.1 导出Android Module2.2 导入原生Android工程3.Unity画面集成与显示3.1 以Activity形式集成3.2 桌面局部显示3.3 添加原生Android组件4.问题处理4.1 编译时错误4.2 桌面显示多个ICON问题5.Limitations6.总结1.前言在2018以及以前的版本中,unity到处android工程时是一个完整的AndroidStudio工程。从2019开始unity中到处工程是一个module,所以用原创 2022-05-11 20:52:36 · 2023 阅读 · 0 评论 -
Unity2019配置ARCore环境
文章目录1.前言2.Unity编译错误3.添加插件4.Gradle版本低问题结语1.前言用ARCore原生的Unity插件(非ARFoundation),会报各种错误,此文将对解决方法进行说明。最新(2021-3月)的ARCore github下载的unitySDK,在unity2019中会报各种错误,需要进行一些配置。如果不想如此麻烦的配置,建议直接用ARFoundation或者高版本unity(2020以后)或者用低版本的ARCore。2.Unity编译错误此问题跟ARCore无关,属于网络问题原创 2022-05-02 15:18:10 · 2158 阅读 · 0 评论 -
Unity坐标转换
文章目录1.前言2.坐标转化2.1 普通转化2.2 左右手坐标系转化3.结语1.前言本文从基本的坐标系转化(即均为左手或者右手)开始,后续给出左右手坐标系转化的方法,参考众多文章,只贴结论和方法,细节参考后续的参考文献。2.坐标转化2.1 普通转化在同一坐标系的转化比较简单,但是为了方便计算通常会采用RT矩阵进行计算,类似与渲染中的仿射变换。计算公式如下:如果知道ΔR和ΔT,就比较容易计算,根据一点在不同坐标系下的数值可以如下方案计算ΔR和ΔT: public static Pose C原创 2022-04-07 16:11:35 · 4205 阅读 · 0 评论 -
UGUI圆形UI与多边形点击范围
文章目录1.前言2.RayCrossing3.圆形UI4.多边形点击范围5.结论1.前言Unity默认的ugui mesh是四边形网格,若要实现圆形ui可以使用mask实现,此处提供一种更改mesh的方法,并将点击范围控制在圆形范围内。(从易用性角度并不会方便太多)同时提供一种在不使用mask的情况下实现复杂点击范围。但此上两种方案均需要判断点击点是否在一个多边形内(圆形按多边形处理)2.RayCrossing若判断一个点p是否在一个多边形内,可以使用rayCrossing方法。即点p发出一条射线原创 2021-03-31 21:42:10 · 525 阅读 · 0 评论 -
状态栏显示
文章目录1.前言2.实现2.1 底部导航栏2.2 顶部状态栏3.总结1.前言unity默认全屏应用,不会显示上部状态栏,可以通过Android中的activity的getWindow方法,获取window然后设置window的属性即可。2.实现2.1 底部导航栏直接在unity的Screen类中直接调用Screen.fullScreen = false即可。2.2 顶部状态栏 /// <summary> /// 隐藏上方状态栏 /// </summar转载 2021-03-27 16:19:21 · 223 阅读 · 0 评论 -
可见性判断
文章目录1.前言2.方法1.前言游戏物体可见性判断有多种方法,比如OnBecameVisible。但是上述方法有一个问题,就是只有移动游戏物体时才会生效,移动cameran则不会生效。所以不得使用其他方法,本文转载此文2.方法如果一个物体被unity判定为”退一万步讲也一定不可见“,则unity不会去渲染它,但是如果我们给此物体添加了逻辑,这个逻辑仍然会被执行。因此,假如这个逻辑是巨耗性能的逻辑,比如说”mesh的每个顶点都按sin(t)波动“之类,那么我们需要手动根据可见性去优化这个逻辑,比如不原创 2020-05-30 13:33:02 · 2158 阅读 · 0 评论 -
Android静态Intent
文章目录1.manifest中注册2.调用3.接收3.1 Android获取action3.2 Unity获取action3.2.1 获取Activity3.2.2 获取intent3.2.3 获取action1.manifest中注册在Activity中注册,如下:注:此为必须存在的 <intent-filter> <action androi...原创 2019-11-23 11:21:14 · 171 阅读 · 0 评论 -
Unity Apk开机自启动一次
文章目录1.需求2.首次启动3.关闭后apk禁用1.需求unity生成AndroidApk,只能首次启动启动,且后续关闭后重启不再启动。2.首次启动在Manifest文件中如下设置:android:priority设置较高是为了保证在其他launcher前启动。 <intent-filter android:priority="2000"> <...原创 2019-11-02 16:23:47 · 992 阅读 · 0 评论 -
UI嵌套Scrollrect
**需求:**当scrollrect A中元素包含scrollrect B时,只能一个起作用,比如A上下滑动,B左右滑动(其实也只能一个上下一个左右滑动)。**解决:**重写scrollrect相关拖动方法,当为左右滑动时B滑动,当上下滑动时,将滑动事件通过ExecuteEvents传递给A。using System.Collections;using System.Collections....原创 2019-10-21 14:26:21 · 144 阅读 · 0 评论 -
OnRectTransformDimensionsChange 的拓展
文章目录1.粒子裁切1.1 实时传递UI Rect变更信息1.2 可裁切的Shader2.实现分块血条2.1 准备2.2 实现原理2.3 具体实现3.基于OnRectTransformDimensionsChange 的拓展_(二)4.粒子自适应UIOnRectTransformDimensionsChange是指当UI的RectTransform更改时的回调,只要继承UIBehavior即可获...原创 2019-10-21 14:23:22 · 2744 阅读 · 0 评论 -
UI事件向下渗透
UI事件是相互遮挡的,ui通过下述代码事件可以向下渗透,转载https://www.xuanyusong.com/archives/4241using UnityEngine;using System.Collections;using UnityEngine.EventSystems;using UnityEngine.UI;using System.Collections.Gener...转载 2019-10-21 13:33:22 · 198 阅读 · 0 评论 -
开启外部摄像头
在unity中建立一个image作为摄像头显示画面,然后通过命令render到image上即可。public WebCamTexture webTex; public string deviceName; void Start() { StartCoroutine(CallCamera()) } voi...原创 2019-10-18 16:22:35 · 218 阅读 · 0 评论 -
初始化数据存储问题
文章目录前言1.文件移动到PersistentDataPath中2.关于Application.persistentDataPath路径问题前言在用unity进行开发的时初始化的数据和中间实时生成的数据存储不同,初始化文件数据建议安放在asset-StreamingAssets文件下,需要时读取取来。运行时所需的实时文件或数据持久化的xml文件则放在Application.persistent...原创 2019-10-18 16:21:00 · 289 阅读 · 0 评论 -
两种Unity双击事件
文章目录1.此方法为通过unityevent来实现2.通过Button在onClick绑定的方法中触发3.触屏简单方法4.问题修复有时候需要用到双击事件,而unity未提供双击控件,在此提供两种双击事件方法:1)第一种方法适合存在众多双击事件时使用,第二种则适合只有一个单击事件时使用,两者并无太大差别,均可使用,适合与否只是从代码量上考虑2)两种方法均存在一个问题,即当鼠标连续点击三次时,由...原创 2019-10-18 16:12:52 · 1177 阅读 · 1 评论 -
Text实现鼠标光标
文章目录前言1.新建一个光标的prefab2.获取text每个字符所在的位置3.获取鼠标位置4.完整代码前言由于项目需求,需要在text上实现鼠标的cursor,并且随着点击位置cursor移动。1.新建一个光标的prefab简单为之,直接在image中添加一个竖线spirte,增加脚本控制闪烁。public float cycleTime=0.2f; public Vector...原创 2019-10-18 16:02:01 · 374 阅读 · 0 评论 -
序列帧播放
[SerializeField] private Image m_ScreenImage; //序列帧播放的image [SerializeField] private int m_FrameRate = 30; // 一秒播放的帧数 [SerializeField] private string m...原创 2019-10-18 15:31:52 · 439 阅读 · 0 评论 -
导出模型
文章目录1.如下图建立相关文件目录,并建立如下脚本2.脚本代码3.到处模型不论unity是否运行,导出其中的模型方法:非原创,原始链接已经找不到。1.如下图建立相关文件目录,并建立如下脚本2.脚本代码using UnityEngine;using UnityEditor;using System.Collections;using System.IO;using System....转载 2019-10-18 15:30:50 · 373 阅读 · 0 评论 -
Texeture2D基本操作
文章目录前言1.Texture 转换为 texture2D2.像素反转3.混合图片前言本文设计Texture2D与Texture转化、图片合成等操作1.Texture 转换为 texture2D private void SaveRenderTextureToPNG(Texture inputTex, string file) { RenderTexture ...原创 2019-10-18 15:06:25 · 309 阅读 · 0 评论 -
场景转换中的数据传递问题
文章目录1.静态变量传递2.创建一个不会被销毁的游戏物体3.通过xml或者json来存储4.可以用PlayerPref来实现1.静态变量传递可以创建一个静态类,或者类里面有静态变量2.创建一个不会被销毁的游戏物体此方法有一个问题,即如果此物体所在的场景重复加载,则此物体重复存在。using System;using System.Collections;using System.Co...原创 2019-10-18 12:06:19 · 117 阅读 · 0 评论 -
移动端实现手指缩放/单指长按/单指旋转
文章目录前言1.双指缩放2.单指长按3.单指旋转前言unity 实现两个手指缩放功能有很多插件,比如easyTouch、FingerGestures、TouchKit等这些均为功能比较多插件,有时候单纯为了一个手指缩放的单一功能又没有必要导入插件,所以以下代码实现相应功能。1.双指缩放public float shrinkScale = 0.5f; private Vector2...原创 2019-10-18 11:58:08 · 1092 阅读 · 0 评论 -
Xml配置文件
文章目录前言1.配置文件2.读取配置文件前言最近做项目又遇到一个需要写配置文件的,懒得自己写就把之前写的一个简单的扒出来改了改,在此贴出来,省得以后还要重新写。1.配置文件配置文件未xml格式<?xml version="1.0" encoding="utf-8"?><appSettings><!--app_cursorTime时间--><...原创 2019-10-18 11:47:08 · 113 阅读 · 0 评论 -
WWW下载内存占用增加问题
项目需求:客户要求要实时更新客户自己服务器数据,包括图片。但是又未提供版本号查询,也不接受其他处理方案。所以只能定时去刷新数据,导致每次刷新后的数据未清空,内存一直增加。分析与解决:采用unity www类下载时,虽然结束后disposed掉,但是数据仍旧在内存中,导致内存不断增加。可以在dispose后添加,将WWW 对象置空,然后调用Resources.UnloadUnusedAsset...原创 2019-10-18 11:38:57 · 145 阅读 · 0 评论 -
实现省市下拉菜单
文章目录1.原始数据2.读取数并整理2.1 分别定义城市类和省类2.2 读取信息并分类2.3 输出省市信息以备用3.数据链接使用DropDown可以很容易实现下拉菜单,关键是找到一份全国各省市数据,这里提供了一份数据,但是数据较老。数据见文末连接。1.原始数据从网络找到一份省市对应表,到县级市一级(比较老),txt格式,如下图:2.读取数并整理2.1 分别定义城市类和省类public...原创 2019-10-18 11:29:34 · 657 阅读 · 0 评论 -
iTextSharp生成pdf
文章目录1.生成文档2.定义字体3.定义段落并添加到document中4.生成表格4.1 定义表格4.2 添加内容4.3 添加表格到文档中5.添加图片6.添加表单itextsharp在ios中可用,亲测1.生成文档Document document = new Document(new Rectangle(0, 0, 2000, 9000), 0, 0, 0, 0); //D...原创 2019-10-18 09:51:18 · 383 阅读 · 0 评论 -
二维码生成
文章目录1. .Net工具2.zxing 工具1. .Net工具从vs Nugets搜索ThoughtWorks.QRCode下载ThoughtWorks.QRCode.dll,此二维码工具不适用与移动端,移动端可使用zxing插件复制代码 private byte[] CreateQrcode(string code) { string enCode...原创 2019-10-17 20:05:16 · 71 阅读 · 0 评论 -
色环选色
文章目录项目需求2.解决方案3.完整代码项目需求项目需求,需要一个颜色环,颜色环上有滑块,拖动滑块,滑块在色换上移动,并能获取到色换上的颜色,并赋值给三维物体。首先获取鼠标坐标,并转化为局部坐标,然后根据局部坐标计算滑块在色环上的坐标,移动滑块位置,并获取坐标值对应的color。如下图所示:2.解决方案1、拖动鼠标时,获取鼠标拖动坐标,根据圆环的公式,计算滑块的位置。2、通过滑块位置,...原创 2019-10-17 19:36:37 · 453 阅读 · 0 评论 -
Amazon S3数据存储
文章目录1.获取Pool ID2.上传失败3.网络代理问题4.代码从官网下载aws 的unity插件,,可进行数据上传、下载等操作,文末代码在原代码基础上做了简单修改(主要用修改PostObject)。操作过程中主要存在以下几个问题:1.获取Pool ID其他参数比较容易获取,Pool ID则有有点隐藏:通过服务-Cognito-管理/新建用户池,可以新建或者获取Pool ID2.上传失...原创 2019-10-17 19:29:28 · 845 阅读 · 0 评论 -
三位物体隐藏
给相应物体如cube挂载如下shader,不仅挂载的物体隐藏,且挂载物体包裹范围内的其他物体隐藏,通过此shader可以实现部分隐藏。通过移动被隐藏物体可以实现逐渐全部显示或者隐藏。//===============================================================================//Copyright (c) 2015 PTC I...原创 2019-10-17 13:16:27 · 85 阅读 · 0 评论 -
UI控件拖动失效
问题描述:ui Slider点击时滑块需要特效,直接在滑块上添加了OnPointerDown事件与OnPointerUp事件。但是当拖动时会直接触发OnPointerUp事件,而且拖动相关的事件失效。这与unity事件机制有关,触发子物体的Down事件后不会触发父物体的Down事件。原因与解决:因为slider本身带有拖动事件,冲突,导致失效。把事件添加到slider上,而不是滑块...原创 2019-10-17 13:11:28 · 333 阅读 · 0 评论 -
判断是否存在UI被触摸
if (Input.GetMouseButtonDown(0) || (Input.touchCount > 0 && Input.GetTouch(0).phase == TouchPhase.Began)) {#if UNITY_ANDROID || UNITY_IPHONE if (EventSystem.current.IsP...原创 2019-10-17 13:07:45 · 114 阅读 · 0 评论 -
超时处理
private bool IsExpired(){ string st="2016-11-1 0:0:1"; DateTime dt=Convert.ToDateTime(st); DateTime dtNow=DateTime.Now; return DateTime.Compare(dtNow,dt)>0;}// ...原创 2019-10-17 13:05:45 · 293 阅读 · 0 评论 -
RangeSlider(双滑块slider)
文章目录实现步骤解决问题下载地址RangeSlider 即双滑块slider,可以通过拖动两个滑块选择一个数值区间。实现步骤(一)添加两个slider,并把背景以及fill设置为透明,并去除RaycastTarget(二)在背景下添加个一个image,背景图为滑块划过后的填充图,添加的image为默认非填充图解决问题(一)双滑块需要在两个方向上更改图片大小,但是只要Pivot设定好了,...原创 2019-10-17 13:01:27 · 2385 阅读 · 3 评论 -
数据持久化问题
文章目录前言1.PlayerPrefs2.Xml文件保存2.1 编写xml2.2 读取2.3 查找与更改3.JsonUtility3.1 通用方法3.2 List4.Litjson4.1 解析List或Dictionary4.2 直接解析前言有时候有数据长久保存的需求,不受应用开关的影响。Unity通过PlayerPrefs类来进行数据持久化保存,可以保存int、float以及string类型...原创 2019-10-16 14:27:24 · 266 阅读 · 0 评论 -
基于ScrollRect实现翻页效果
文章目录前言1.使用接口2.使用相对位置方法3.使用绝对位置前言unity提供的ScrollRect组件可以实现左右或者上下滑动效果,翻页效果则需要滑动结束后锁定到某一页。只需要根据拖动结束时,获取ScrollRect的content移动的方向以及移动的目标位置即可。1.使用接口要获取鼠标(或者点击)开始结束时讯息(包括开始拖动时的事件以及对应的坐标),unity为我们提供了两个接口来实现...原创 2019-10-16 13:49:55 · 347 阅读 · 0 评论 -
UnityEvent与持续按键
文章目录前言1.UnityEvent2.持续按键3.单击/长按组合4.滑动屏幕,旋转模型前言基于UnityEvent实现持续按键(长按)事件,单按/长按组合按钮以及滑动屏幕旋转模型等功能1.UnityEventunityevent为unity自定义的unity事件,需要与委托unityaction(它需要添加到event的监听中使用)。using System.Collections;...原创 2019-10-16 11:36:14 · 1257 阅读 · 0 评论 -
截屏方法总结
文章目录1.基于Camera进行截图2.自定义截图的大小(包括UI)3.截取屏幕全屏本文转自https://www.cnblogs.com/MissLi/p/8005342.html1.基于Camera进行截图以下为原文代码,但需要等到截图的那一帧结束后才可以,故需要使用协程,并在代码screenShot.ReadPixels(r, 0, 0);之前加yield return waitfor...转载 2019-10-16 09:17:26 · 209 阅读 · 0 评论