- 博客(69)
- 资源 (5)
- 收藏
- 关注
原创 Unity中的Lerp插值的使用
平时在做项目中插值的使用避免不了,之前一直在插值中使用存在误区,在这里浅浅记录一下。之前看的博客或者教程还多都存在一个“永远到达不了,只能无限接近”的一个概念。可能是之前脑子中没有插值的概念没理解对,或者当时看的up主也是没理解对,程序员难免会有“bug”,发现解决完善它就OK了。
2024-02-19 22:00:00
1076
原创 Unity使用UnityWebRequest进行POST请求的时候遇到内存泄露问题
使用UnityWebRequest这个API过程中遇到了内存泄漏的问题。 A Native Collection has not been disposed, resulting in a memory leak. Enable Full StackTraces to get more details
2022-12-14 17:19:58
1408
2
原创 Unity打开项目弹窗:Sentinel key not found (H0007)
Unity打开项目提示Sentinel key not found (H0007)
2022-08-17 10:56:20
7218
原创 Unity中使用事件Event基础
C#中的事件说明事件的组成部分事件的声明易混淆问题例子说明 最近打算回头看一下C#基础知识 ,工作一段时间再回头看一下基础,总会有一些新的理解。事件的组成部分事件的拥有者(Source 对象)事件成员(Event 成员)事件的响应者(Event Subscribe 对象)事件的处理器(Event Handle 成员) 本质是一个回调方法事件订阅:把事件处理器处理器与事件关联在一起,本质是一种以委托类型为基础的“约定”事件分为上述五大组成部分,通俗来说就是事件将两个对象通过某种约定建立
2022-05-03 01:19:43
922
原创 Unity通过socket.io与Node.js通信,服务端一直不响应客户端连接成功的回调
我是在网上看的通信解决方案,当时我动手操作服务器开启,客户端开启之后,在服务器上一直不响应客户端连接成功的回调。找了好多解决办法,甚至将Unity的版本试到了2017,还是不响应。。。将我找到的解决办法记录下来,大家避免遇到相关的问题。解决办法:将原本通过 npm install socket.io 下载的包删除 使用npm install socket.io@^2.1.1 下载即可解决...
2022-04-26 23:35:19
2173
1
原创 打开Unity项目,加载进度条一直显示busy不消失
打开Unity项目,加载进度条一直显示busy不消失解决办法:我的项目路径存在中文,改成全英文路径再打开一下就好了。
2022-03-24 13:45:00
7827
原创 Webgl开发输入框兼容问题及开发注意的问题
Webgl开发输入框【InputFieldzu组件】输入中文说明解决方案一通过重写原生的InputField组件来兼容说明解决方案一通过重写原生的InputField组件来兼容#解决方案二通过 最近一直再搞WEBGL平台的项目,花了好几天解决InputField组件输入中文的问题。在这记录一下避免再次入坑!!!...
2022-01-20 20:45:00
5261
3
原创 Unity中WEBGL平台下【Unity中调用JS上的方法】【JS调用Unity中的方法】
官方文档:【传送门】WEBGL平台下【调用JS上的方法】最近开发WEBGL平台上的项目,很多时候我们需要在Unity中调用网页端的方法而不是在Unity内部调用,比如场景中点击音效(为了减少打包包体大小采取了在网页上播放音效),点击按钮跳转新的场景等等等等应用场景。 首先创建一个后缀为`.jslib`的文件测试代码如下,放置在Assets文件夹下的Plugins文件夹下。mergeInto(LibraryManager.library, {UnityToJs_Simple: function
2022-01-08 12:17:17
5310
原创 Unity Android端对JSON数据的读取和修改
1.路径读取的几种方式这里简单总结一下我们在开发安卓端时,常用的路径读取的几种方式:Resources.Load<T>()Resources文件夹是特殊文件夹,打包出APK或者生成EXE文件后,就不会存在这个外部路径了,它是内部动态加载资源。它是只读的,不能动态的修改。打包使会被压缩加密。Application.streamingAssetsPathStreamingAsset文件夹的内容会原封不动的打入包中,在Android端下是只读的,但是在PC端是可以读写的,必须放在根
2021-11-17 00:06:21
8093
3
原创 Unity封装VideoPlyaer组件包含全屏+静音+进度条+时长显示
说明 最近开发时需要播放视频,回忆以前做过的项目,好多都有在Unity3D中播放视频,每次都是自己重新实现一些功能,类似与进度条拖动,显示时长等等。今天就是将其封装一下,以后再用到直接拿来用。包含的功能:视频进度条,可点击进度条,拖动进度条点击视频实现视频播放与停止全屏显示静音显示视频时长播放界面:脚本挂载:主要脚本:using UnityEngine;using UnityEngine.UI;using UnityEngine.Video;public class
2021-09-15 18:24:26
3009
6
原创 Unity接入罗技G29方向盘,通过SDK获取按键信息
Unity接入罗技G29方向盘,通过SDK获取按键信息说明: 最近需要做一个外设汽车驾驶相关的软件,采用的外设 罗技G29方向盘,项目中遇到的问题这里记录一下。项目准备: 1.下载罗技的SDK 2.下载罗技游戏软件 3.Unity商店中导入Logitech Gaming SDK遇到的问题: 1.Unity商店中导入的SDK运行会报错,将项目准备中步骤一下载的SDK 路径:Lib\x64\LogitechSteeringWheelLib.lib 复制到Logitech SDK文件夹下
2021-08-12 11:43:11
4735
6
原创 Unity异步加载场景,加载到100%后按任意键进入主场景
说明:这里通过 sceneIndex= PlayerPrefs.GetInt("SceneIndex"); 来确定要加载的场景索引。&直接赋值将对应组件拖拽上即可using System.Collections;using System.Collections.Generic;using UnityEngine;using UnityEngine.SceneManagement;using UnityEngine.UI;using DG.Tweening;using QFramew
2021-08-07 15:25:23
760
原创 Unity实现安卓端手势控制摄像机的旋转和缩放
说明 上一篇记录了PC端鼠标控制摄像机的移动和缩放,这一篇写的是在安卓机上实现手势控制摄像机围绕一个物体进行旋转和缩放,两篇的代码逻辑基本一样只是输入检测有区别,这里我是分开记录,没有整合【Unity实现PC端鼠标控制摄像机的移动和缩放】,使用的方式也很简单,将脚本挂载到主摄像机中。 这里还用到了DoTween的插件和UniRx,需要自己导入一下,如果不想使用插件,可以把以下代码简单修改一下。using UnityEngine;using DG.Tweening;using UnityEngi
2021-07-27 16:09:23
2999
1
原创 Unity实现鼠标控制摄像机围绕中心点的旋转和缩放
说明 实现了一个功能脚本,方便于摄像机围绕一个物体进行旋转和缩放,使用的方式也很简单,将脚本挂载到主摄像机中。 这里还用到了DoTween的插件和UniRx,需要自己导入一下,如果不想使用插件,可以把以下代码简单修改一下。using UnityEngine;using DG.Tweening;using UnityEngine.EventSystems;using QFramework;using UniRx;using UniRx.Triggers;/// <summary&
2021-07-27 16:02:57
2778
原创 HoloLens2代与Unity3D交互的发布部署
前言 最近项目上有一个HoloLens2代的项目,以前没有接触过MR相关的东西,这几天研究了一下,总结了一些基本参数配置。 建议大家还是先过一遍官网的文档 传送门 官方工具包MRTK 传送门 (根据官网提示将插件导入)调试之前需要将电脑和HoloLens设备都打开开发工具选择 Unity版本选择(LTS) 长期支持版本 VS版本 VS2019Unity中的配置将当前平台切换到UWP平台下打开Project Setting面板 安装一下XR插件
2021-07-08 11:41:08
381
1
原创 Unity中实现Scroll View组件下自适应显示不同的组件(混合显示Image和Text)
需求: 最近项目实现一个文本显示,觉得单调,需要图文并茂的显示在Scroll View组件下。还没用过Scroll View组件下显示不同的组件。找了一些资料(参考)这里实现简单记录一下,实现如下:我是混合Image和Text组件,测试的时候一定要加上测试的Image图片,否则Image长度会为0,这里根据自己的需求修改,这里勾选Control Child Size图片的大小会默认是原始大小(这里需要注意一下)。如何有更好的解决方案,欢迎提出来。...
2021-06-22 23:36:04
1016
2
原创 transform.LocalPosition、RectTransform.anchoredPosition相关基础
Unity扫盲~ transform.LocalPosition、RectTransform.anchoredPosition好多基础的知识有点拿不准了,温习一下transform.LocalPosition是相对于父对象的位置(没有父对象就根据世界原点),自身锚点的改变不影响;自身的中心点和父物体的中心点改变影响;总结:自身中心点(Pivot)到父节点矩形中心点(Pivot)的相对位置。RectTransform.anchoredPosition 是自身中心点相对于锚点之间的位置锚点
2021-06-07 18:08:25
1089
1
原创 Unity Webgl部署到PHPStudy浏览器报错application/wasm相关
将工程发布WEBGL,使用PHPStudy软件部署,浏览器提示报错:解决方案如下:用记事本打开添加 :application/wasm wasm
2021-05-23 21:07:01
1273
原创 从UnityHub下载2020.3.4版本Unity的安卓环境的配置方法
问题 最近从UnityHub下载的Unity下载完Android模块,里边的jdk,sdk信息一直寻找不到,自己下载一直提示版本不对,有点烦躁。图示:找到的解决方案:1.首先找到UnityHub安装的Unity路径下的json文件,如图所示。将其打开SDK相关:1.直接复制连接在浏览器中下载。2.将下载的文件解压到【2】所示的文件夹下。如下没有的文件夹需要自己创建。SDK相关 步骤跟上述一样SDK相关 1.直接复制连接在浏览器中下载。 2.解压出来之后.
2021-05-10 18:12:53
3417
4
原创 Unity中实现触摸屏中的单点,手指滑动,多点触屏的功能
触屏操作 当我们将项目移植到ios和android设备上,pc端的鼠标左键操作会自动适配为手机屏幕上的触屏(单点)操作,但也只是实现了鼠标的单点,比如手指滑动和多点触摸都无法检测。using System.Collections;using System.Collections.Generic;using UnityEngine;public class TouchMgr : MonoBehaviour{ //手指第一次触摸点的位置 Vector2 m_scenePos =
2021-05-09 19:01:25
7049
1
原创 Unity中实现将字典中的数据序列化到Inspector面板上
问题: 最近需要将字典序列化到Inspector面板上,来动态配置一些东西,不能直接显示,这里通过结构体的转换一下。using System.Collections.Generic;using UnityEngine;public class ShowDicDataTest : MonoBehaviour{ private Dictionary<int, string> dicData = new Dictionary<int, string>();
2021-05-08 21:34:11
1725
原创 VS2019 报错: LINK Error 无法找到 MSCOREE.lib的解决办法
再使用VS2019打开一个C++的项目时,一直报错LINK Error 无法找到 MSCOREE.lib,找的解决方案记录一下。安装一个.NET Framework 的一个SDK的包
2021-04-28 21:47:49
569
原创 Unity中简单加密实现软件限制使用次数和时间的小功能
Unity中实现一个简单限制软件打开的小功能最近公司需求是需要在电脑上根据MAC地址软件 才能被打开,陆陆续续的又提了时间限制和打开次数限制。 通过打包之后第一次运行获取MAC地址(用于临时展示,大家也可以将信息加密一下再保存)保存在文本中,每次打开软件会判断当前是MAC地址是否一样,不一样则软件退出。功能脚本:using System;using System.IO;using System.Net.NetworkInformation;using System.Text;using U
2021-04-25 22:11:49
1707
2
原创 Unity向量的点乘和叉乘的使用
Unity中点乘和叉乘点乘(API: Vector3.Dot())点乘的计算公式点乘的几何意义用途之一:判断一个物体当前方位利用点乘求出角度叉乘(API: Vector3.Cross())叉乘计算公式叉乘的几何意义判断物体是在左侧还是右侧点乘(API: Vector3.Dot())点乘的计算公式向量A(X1,Y1,Z1)向量B(X2,Y2,Z2)A•B=X1*X2+Y1*Y2+Z1*Z2向量•向量=标量(一个数值没有方向)点乘的几何意义点乘可以得到一个向量在自己向量上`投影的长度如下图所示
2021-04-20 18:49:16
3930
3
原创 Unity中实现一个手势输入判断方向的小功能
Unity中实现通过滑动屏幕,判断当前的手势是向上、下、左、右哪个方向滑动。思路:如下图所示,原点为起始点,箭头位置为手势滑动结束的位置,分别X轴方向和Y轴方向的数值进行比较,如果X的绝对值大于Y的绝对值,则是左右方向上的移动。如果该向量大于0则向右移动,反之小于0则向左移动。其余方向上的判断同理。代码如下:定义一个枚举,记录方向。public enum InputDirection{ NULL, //空 Right, //右 Left, //左 D
2021-04-15 14:53:12
841
原创 Unity世界坐标系、本地坐标系、屏幕坐标系、视口坐标系
Unity中的坐标系世界坐标系本地坐标系屏幕坐标系视口坐标系各个坐标系相互转换的API世界坐标系原点:世界的中心轴向:世界坐标系的三个轴向是固定的相关API:transform.position;transform.rotation; 四元数transform.eulerAngles; 欧拉角transform.lossyScale;移动根据世界坐标系移动 本地坐标系原点:物体的中心点(建模时决定,一般都是物体的中心点)轴向:物体右方为X轴正方向物体上方为Y轴正方向物体
2021-04-15 00:17:59
4196
3
原创 Unity中实现一个对象池
这里写目录标题一、对象池流程图二、案例测试一、对象池流程图总池子 将总池子作为单例模式供外部调用,含有根据名字获取总池子中的子对象池中的对象。将指定GameObject放回池子中三个方法。子池子 子池子中含有取池子中的对象,回收池子中的对象,两个功能。ReusableObject脚本 该脚本是池子中的对象需要继承它,根据实际情况对实现具体的逻辑,需要实现的方法OnSpawn()、OnUnSpawn(),调用是根据消息机制进行调用,在子池子中声明取和放回分别调用对应的方法。
2021-04-06 23:26:47
405
3
原创 Unity中使用MVC开发UI
MVC一、什么是MVC二级目录三级目录一、什么是MVC 说起MVC,可能都知道是Model--View--Controller,但是真要通透理解它的思想,还真是不容易的。&二级目录三级目录
2021-03-31 17:17:42
767
原创 C#中构造函数在继承关系中的规则
C#构造函数 说起构造函数,我们都知道是在实例化对象时,用于做一些初始化的操作,今天总结的是,在继承关系下的构造函数的执行关系,时间太长感觉拿捏不准了,好记性不如烂笔头,直接开始。1.如果当前类存在继承关系,只要申明子类,就会把父类构造函数执行一遍。class Animal { public Animal() { Debug.Log("animal构造函数"); }}class Dog:Animal { public Dog() {
2021-03-25 10:57:47
587
2
原创 Unity场景异步加载遇到的问题(进度条)
项目场景: 以前做的项目,突然甲方提供了较多的数据,测试加载场景中有点卡顿,改为一个异步加载场景用于过渡。避免太生硬的加载等待。问题描述: 实现了场景的异步加载后,我一直觉得我这个加载有问题,虽然是可以跳转到主场景的,但就是感觉有点问题。 通过加载发现:加载到100之后会有一个卡顿的时间,进度条的变化也是怪怪的,于是开始查找是不是真的有问题。原因分析:查看了好多的博文发现了以下原因:SceneManager.LoadSceneAsync()并不是真正上的后台加载,它是在每一帧
2021-03-23 16:34:15
2809
原创 C#通过反射加载外部程序集(dll库文件)
C#通过反射加载外部程序集(dll库文件) 本文章使用了一个C#通过反射加载一个类库的dll文件,获取库文件中的公共成员,执行这些变量反射基础整理传送门说明:这个dll文件和我们的反射不在同一个程序集中测试代码将这个脚本类库打包成dll库文件namespace 程序集{ public enum E_Type { Cat, Dog } class TestClass { public int id = 01;
2021-03-22 16:11:29
2180
2
ViveInputUtility.zip
2019-07-16
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人