自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(33)
  • 资源 (9)
  • 问答 (3)
  • 收藏
  • 关注

原创 Unity中使用C#的WebClient的DownloadFileAsync异步回调不执行

在开发时遇到了一个很奇怪的问题,使用WebClient来异步下载远程资源,并且使用了WebClient的两个异步回调方法DownloadProgressChanged和DownloadFileCompleted。在Unity编辑器中,两个异步回调方法可以正常执行,当打包后发现,两个异步回调方法根本不会执行,比较神奇的是远程文件居然下载了下来。通过无数次踩坑,发现是.net版本影响的。见下图:代码如下: void Start() { do

2020-10-09 17:16:16 2082

原创 Unity项目出现UnityEngine.UI和EventSystem命名空间找不到问题&&解决Unity不同版本dll冲突

网上一大堆相关的介绍,貌似我大部分搜索到的都是说用的是VS Code导致的,但我用的是VS2017,Unity版本是2019.3.2根据个人开发所遇到的出现的这种情况有三类1.Unity项目升级,如从2017升级到20192.导入插件包,如burst、Jobs、布料插件等3.导入功能插件,该功能插件存在与你的当前项目相同名称的dll文件由于时间问题,晚上再更新吧。。。上面都是铺垫https://www.cnblogs.com/dotnet261010/p/12401843.htm

2020-06-13 15:34:30 6620 1

原创 ERROR 1045 (28000): Access denied for user 'ODBC'@'localhost' (using password: NO) && 解MySQL在服务中消失

错误解决方法如下:(1) 打开mysql的服务,因为我当时安装选择的手动启动。(2) 将mysql安装的bin目录添加到系统PATH环境变量里,用;(分号)分割。(3) 然后打开cmd,键入命令:mysql -u 用户名 -p 密码。在我机子上键入的是:mysql -u root -p 我root的密码,然后就可以进入mysql了。如下图所示:重设密码的方法:$mysql -u...

2020-03-07 22:05:18 303

原创 AssetBundle加载脚本丢失问题

问题:当Prefab上挂有脚本,再将其打包成AssetBundle,然后再在项目中去加载AssetBundle,当该物品被加载出来发现物体身上挂的脚本丢失,Inspector面板上的该脚本显示黄色感叹号,提示该关联的脚本无法被加载。原因:AssetBundle本身就无法正常打包脚本,manifest文件中保存的是该脚本所对应的类名和变量名,在加载AB包时,程序会去查找当前项目中是否含有...

2020-01-04 15:19:11 2044 1

转载 FPS游戏发展简史:瞄准系统的演化

https://zhuanlan.zhihu.com/p/22105641

2019-12-30 17:14:28 385

原创 利用混合树blend tree实现角色移动和奔跑之间的平滑过渡

功能效果:所有动作的过渡都是平滑的仅按下方向键时,角色行走,可由自然状态下过渡到行走动作按下shift+方向键时,角色奔跑,可由自然状态下过渡到行走动作,再过渡到奔跑动作,也可由行走动作过渡到奔跑动作当奔跑时,松开shift键,由奔跑动作过渡到行走动作,松开方向键,过渡到自然状态动作关于blend tree这里不做多介绍,animator controller如下:...

2019-12-26 10:48:06 1397

原创 ffmpeg录屏录音

-f fmt (input/output) 强制设定输入或输出文件格式。通常会自动检测输入文件的格式,并从输出文件的文件扩展名猜测格式,因此大多数情况下不需要这个选项。-i url (input) 输入-y (global) 在没有请求的情况下覆盖输出文件。-n (global) 不要覆盖输出文件,如果指定的输出文件已经存...

2019-11-11 17:39:33 319

原创 UGUI常用方法

修改UI的长度和宽度例左上对齐可设置:GetComponent<RectTransform>().sizeDelta = new Vector2(width, height)修改UI的位置例左中对齐可设置:GetComponent<RectTransform>().anchoredPositon = new Vector2(PosX, PosY...

2019-11-06 11:23:20 230

原创 Unity的Lerp插值运算

float result = Mathf.Lerp(float a, float b, float time)Vector3 res = Vector3.Lerp(Vector3 startPos, Vector3endPos, float time)以上两种方法均为插值运算,第一个是一维插值,第二个是三维插值,其方法含义以第一个方法为例,代表的意义是:result = a + (b...

2019-11-05 15:30:44 940

原创 Socket客户端异步连接超时设置

在使用TCP异步方式时,若客户端直接使用socket.Connect方法进行判断时,当客户端与服务器进行连接,而服务器不存在时,程序处于无响应状态,怀疑此时客户端处于阻塞状态,需要过七八秒甚至十几秒才会抛出异常。 因此需要使用socket.BeginConnect方法进行异步连接。当点击创建房间按钮时,会执行如下方法:ToConnect()如上图,其中原始方法会出现软件无响应的现象,...

2019-10-12 18:36:55 1420

原创 TCP异步方式解决粘包和分包问题

1.TCP同步方式和异步方式的比较 TCP同步方式:好处在于Socket连接、接收数据简单,过程不复杂,但若没有玩家连接,程序处于阻塞状态,效率低,只能实现双人同台,且程序容易卡死,如果要实现多个玩家在线,需要在Unity中使用C#的多线程,会比较复杂。 TCP异步方式:可以实现真正意义上的多人同台,在不使用C#多线程的情况下(其实还是使用了多线程,Socket相...

2019-09-30 14:48:17 2912 3

原创 C#音频文件的复制和转换

fileName是当前音频文件的完整路径,包含后缀名,假设fileName是MP3格式文件,destName是目标文件的完整路径,且destName的后缀名是wav,所以mp3转wav,且复制fileName音频文件到destName,如下: private string LoadMusic(string filepath,string destName)...

2019-08-21 15:04:42 558

原创 Git切换账户

相同的一个项目,本来这台电脑是别人使用的,后来这台电脑被你征用了,由于该项目的Git账户之前是别人的,所以需要把Git账号切换成你自己。0.在项目对应文件夹: git bash here1.更改Git用户名: git config --global user.name "用户名"2.更改Git邮箱:git config --global user.email "邮箱"(你的用户名和...

2019-08-16 09:55:30 1756

原创 Unity使用Rect类进行截屏

关于截屏有很多种截取全屏的方法,但是想要截取Game视图中的部分区域,可以使用Rect和ReadPixels进行截取。如下图所示,是需要截取的部分。 浅蓝色是Game视图,即全屏幕尺寸,红色区域是基于Canvas左上角对齐,红色区域右边距离屏幕边界610px,下面距离屏幕边界70px,蓝色区域是红色区域的子级图片,上下左右居中对齐,现在要截取蓝色区域的图片导出。...

2019-07-27 11:04:14 1578

原创 Unity连接MySQL数据库

遇到的坑:在注册账号时,会对数据库进行一次查询,看是否已经有人注册该账号名称。结果数据库中始终查询不到本次注册的对应账号的数据,显然是不对的,后来发现MySQL数据库代码中,对reader =reader = cmd.ExecuteReader();代码根本不做处理,直接跳过try catch 语句,异常也捕获不到,当把 throw(Exception e) 改成throw(MyQLExcep...

2019-04-17 14:16:42 350

翻译 Stealth角色控制

秘密行动最终相机跟随在角色后上方,当人物靠近墙边时,相机会调整角度using System.Collections;using System.Collections.Generic;using UnityEngine;using UnityEditor;public class Player : MonoBehaviour { public float moveSpe...

2019-04-16 16:02:05 167

原创 Unity制作小地图

制作小地图所需素材下载处见:https://download.csdn.net/my/uploads 首先在Unity导入资源包,然后创建基本的游戏场景,有地面和人物角色,然后再创建一个相机,注意找到它Camera组件上的TargetTexture,然后在Project面板上新建一个CustomTexture,将这个CustomTeture拖到相机Camera组件上的T...

2019-04-11 15:26:31 7935 4

原创 Unity人物角色动画系统学习总结

使用动画系统控制人物行走、转向、翻墙、滑行、拾取木头混合树用来混合多个动画MatchTarget用来匹配翻墙贴合墙上的某一点,人物以此为支点翻墙跳跃IK动画类似于MatchTarget,控制两只手上的两个点来指定手的旋转和位置,使得拾取木头时更逼真创建AnimatorController:首先创建一个混合树,然后双击可以看到该混合树有五种状态机,分别是Idle、Wa...

2019-04-01 17:36:49 1944

原创 Unity2017.1.0f3迷之bug解决

昨天发现Unity的这个光线渲染很存在问题,但又一直不知道怎么回事,是这样的:当创建一个场景时,可能会出现这样的情况,如下图:这个是我新创建的一个场景,光线是默认设置,但是场景中的方块却是灰色的,正常的应该是这个样子的。如下:经过反复调整参数,却没啥用,最后我新创建了一个场景,发现原先的场景渲染又恢复了正常,而新场景又是渲染出现问题综上:当你正在操作的项目场景(假设...

2019-03-29 10:03:50 396 1

原创 Unity第三人称视角、移动控制改进

实现功能:滑动鼠标旋转视角(水平旋转和垂直旋转有范围限制) 滑动滚轮缩放视角(缩放距离有范围限制) 鼠标右键锁定视角 WSAD或方向键移动人物 (人物正脸朝向由屏幕向里) 移动时滑动鼠标会改动人物转向(相机朝向与人物转向一致)改进:相机解决了穿墙的影响注意:部分代码因个人项目需求与本文所介绍内容不相关,可自行再做删除修改!!!相机脚本如...

2019-03-28 10:22:23 5261

原创 Lua笔记四——加载AB包和Lua补丁脚本

      这里主要介绍两种加载途径,一个是从本地加载AB包,另一个是从服务器端加载AB包和Lua脚本      从本地文件加载:(resName代表预设体的名字,filePath是预设体的名字) void LoadResource(string resName, string filePath) {        AssetBundle ab = AssetBundle.LoadFro...

2019-02-25 20:26:26 1572 2

原创 Lua笔记三——AssetBundle介绍使用

什么是AssetBundle:        可以归为两点: 1,它是一个存在于硬盘上的文件。可以称之为压缩包。这个压缩包可以认为是一个文件夹,里面包含了多个文件。这些文件可以分为两类:serialized file 和 resource files。(序列化文件和源文件) serialized file:资源被打碎放在一个对象中,最后统一被写进一个单独的文件(只有一个) resource f...

2019-02-25 18:18:24 755

原创 Lua笔记二(xlua)

Xlua官网 https://github.com/Tencent/xLua一、xLua的导入和hotfix的配置 1.首先在github上下载好xlua插件,解压后有一个xLua-master文件,打开里面的Assets文件夹,将其里面的文件全部复制粘贴到自己的Unity工程项目里面(放在自己工程的Assets目录下) 2.配置热更新的宏:在Unity...

2019-02-24 10:36:20 347

翻译 Lua笔记一

一、Lua介绍:        1.Lua 是一种轻量小巧的脚本语言,用标准C语言编写并以源代码形式开放, 其设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能。Lua可以很方便的和其他程序进行集成(c++,c#,java,,,,)        2.场景应用:游戏开发 独立应用脚本                             Web 应用脚本    ...

2019-02-24 09:33:46 177

原创 用Unity实现LOL游戏中聊天对话框的功能

基于Socket,用UGUI实现游戏场景中玩家的聊天如图,聊天UI分为两部分:对话框、输入框。 实现的功能如下1.默认情况下,对话框不可见,按下回车键显示对话框和输入框,鼠标光标在输入框2.再按一下回车键,输入框消失,再按回车键,输入框出现3.当只有对话框没有输入框时,对话框持续显示4s,然后渐变消失4.在输入框输入文本,按回车键后消息发送,在对话框显示,输入框消失,过4s...

2019-01-27 18:12:27 3720 3

原创 Socket通信中粘包分包问题的介绍和解决(C#)

最近在做Unity局域网时,用到了Socket通信基于TCP协议,然后使用异步方式,主要用到了BeginAccept和BeginReceive方法然而就可以实现异步通信,然而还是要解决粘包和分包问题这里我先说明一下什么是分包和粘包,TCP提供面向连接的、可靠的数据流传输,所以当我们发送数据在短时间内比较频繁并且数据量比较小时,TCP为了优化内存资源,会将多条数据粘成几个包来进行处理,相比发...

2018-12-19 09:58:08 4919 2

原创 U3D相机的控制(第一、第三人称)

在游戏中,最常见的视角控制就是鼠标上下左右移动来实现相机的上下左右移动,以及鼠标滚轮的滚动来实现视角的缩放下面将介绍这三种功能的实现: 因为场景是一个三维坐标系,所以需要的地方很多,这里引入几个变量,distance, roll, rot , distance ,d为相机和主角之间的空间距离,roll为竖截面distance和x-o-y平面的夹角,d为dist...

2018-11-07 18:31:01 5513

原创 排序算法:冒泡排序、插入排序和快速排序

笔试中经常有排序的算法题,关于冒泡排序,这里就不再细讲了,具体方法很多种,直接上代码://冒泡排序 (个人实现方法)        static void BubbleSort(int[] dataArray) {            for (int i = 0; i &lt; dataArray.Length - 1; i++) {                for (int ...

2018-10-14 09:57:43 220

原创 C#两个链表相加求和

您将获得两个非空链表,表示两个非负整数。 数字以相反的顺序存储,每个节点包含一个数字。 添加两个数字并将其作为链接列表返回。您可以假设这两个数字不包含任何前导零,除了数字0本身。Input: (2 -&gt; 4 -&gt; 3) + (5 -&gt; 6 -&gt; 4)Output: 7 -&gt; 0 -&gt; 8  解释:342+465=807--------------...

2018-10-13 17:30:25 855

原创 C#自定义单链表

在C#中模拟库中已存在的集合,链表LinkedList。可以做添加、插入等操作可以先写一个链表接口,然后再去实现接口的功能interface IList&lt;T&gt;    {        int GetLength();  //取得链表的长度        void Clear();  //将链表清空        bool IsEmpty();  //判断链表是否为空 ...

2018-10-13 17:09:13 919

原创 Socket编程之TcpClient、TcpListener在Unity3D中的应用

经过一段时间的学习,对于TCP/IP协议有了一定的认识,大概知道了TCP协议通信的原理,接下来主要实现用TcpClient、TcpListener两个封装类和stream来实现一个小的demo:用vs建一个工程作为服务器,然后用Unity引擎作为客户端,实现客户端和服务器,客户端和客户端之间的通信。由于入坑试验多次,这里强调一下通信时候的数据转换,当在客户端发送信息的时候,会将用户输入的字符串...

2018-09-27 09:59:41 3347

原创 找出数字n的所有连续正整数列(即连续正整数列的和为n)从m开始

//找出数字n的所有连续正整数列(即连续正整数列的和为n)从m开始 (C#)例如:18的正整数列为: 5 6 7 因为 18 = 5+6+7;也可以 18 = 3+4+5+6;代码如下:        static void Main(string[] args)        {            findSequence(3, 33);            Console...

2018-09-26 21:04:13 857

原创 C#中的字符串统计排序之dictionary实例应用

问题:给出一个字符串,字符串为26个英文大写字母,要求统计出每个大写字母出现的次数并且排序。解答:这里我想的是先创建一个int型数组值都为0,一个char型数组为26个字母,先遍历字符串,然后套一层for循环遍历是否出现了某个字母,如果有,则对应的int数组计数自增。最后得出的是int数组中存的是字母出现的个数,然后用键值对把两个数组保存起来,通过字典来排序。(本来对字典不是很熟悉,测...

2018-09-23 10:05:19 437

AESGCM_Dll.zip

AESGCM加密用到的动态链接库,BouncyCastle版本的加密,支持Unity和C#桌面应用!

2020-10-17

SQLite_Dll_forUnity2019.zip

支持Unity使用的SQLite动态链接库,dll打包后不报错 供64位windos使用,测试Unity2019.3.2版本可用

2020-10-17

LitJson.zip

支持Unity使用的Litjson序列化

2020-10-17

ToolEditor.cs

将Prefab打包成AssetBundle!

2020-01-04

ILSpy_Decompile.zip

ILSpy 是一个开源的.Net程序集浏览器和反编译工具,支持C#和vb,可以将一个dll文件转换为C#或VB语言。支持保存文件,对于单个文件可以保存为.cs文件或.vb文件,当文件较多时,可以选择保存为项目文件。支持C#的反编译,C#语句可被反编译出来,并可支持yield return语句和 lambdas表达式的反编译。并且支持C# 5.0 中的"async"

2019-12-30

AsyncSocket.zip

可以实现在同一局域网下,两台电脑进行通信(解决了粘包分包超时连接问题),一方创建房间,另一方加入房间,双方进入同一房间相互聊天

2019-10-26

OVRLipSyncPlugin.zip

OVRLipSync 是一个音频口型插件,可以根据读取的输入音频去播放人物对应的口型动画,即设置人物的Blendshape的权重值

2019-10-21

小地图制作资源QQQQQQQQQQQQ

利用Camera、Material、Texture和UGUI制作小地图!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

2019-04-11

UnityFPS游戏局域网学习视频和素材源码

实现在同一局域网下,双人射击,是一个FPS游戏的教程 之前在淘宝上买的课程,现在分享给大家啦!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

2018-09-23

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除