自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 Dotween 绘制抛物线(不用Path)

网上说的dotween绘制抛物线很多用Path来完成,如果是单纯绘制抛物线的话,这个方法比较麻烦,本文讲解用简单的Sequense来绘制抛物线。Sequence s = DOTween.Sequence(); s.Append(msg.sprite.DOMoveX(抛物线X总长度, 总时间).SetEase(Ease.Linear)); s.Insert(0, msg.sprite.DOMoveY(最高点Y, 抛物线一半的时间).SetEase(Eas

2020-07-14 08:20:43 152

原创 (多图)Unity 2D 光照---------添加法线贴图

~~~~~~~~~~~~~~~~~····RoudLun原创~~~~~~~~~~~~~~~~~~~~~~~~~~~~~首先需要设置2D灯光:法线贴图是记录图片高度的,可以使平面的图片更加立体,效果如图:没有法线贴图的:图片更加立体了。1.下面讲解如何实现,首先配置2D灯光,需要2019.2及以上版本:https://blog.csdn.net/Roadlun/article/details/103956...

2020-07-03 10:19:58 109

原创 SpriteRender 九宫格缩放(图文)

本文讲解用SpriteRender 怎么做九宫格缩放。1.设置texture 的MeshType 为FullRect2.打开SpriteEditor,从图片的最上方,最下方,最左,最右,可以拖拽出四条边界线,拖拽成如图所示。如图,图片被划分成了九个格子,其中四个角的格子是不会被拉伸的3.设置SpriteRender的DrawMode为Sliced(注意将图片拖到SpriteRender里才会出现DrawMode选项),设置Size的Width和Height选项即可缩放SpriteRend

2020-06-30 08:49:04 114

原创 TextMeshPro 创建中文字体资源

TMP组件需要FontAsset,一种类似Material的资源文件,TMP自带两个FontAsset,但是都不支持中文,本文详解怎么生成中文FontAsset。 (用别人生成的字体Asset有可能无法正常使用,所以本文讲解自己生成fontAsset)1.准备一个字体文件,在控制面板-字体 文件夹里有本电脑的字体文件(或从网上下载自己喜欢的字体)。 准备一个ASCII 码Txt文件 ,我已经准备好了 --------》 链接:https://pan.baidu.com/s/1d0D7oMbGwfElJT

2020-05-23 19:22:25 276

原创 Easy Save 2 与Easy Save 3 区别

1.操作更便捷 Easy Save 2 保存一个新类型需要花费半天时间 ES3 更快。2.键值对替代路径。 ES3 保存和读取方法需要输入键值对,开发者不需要关心路径,而是设计好一个 键值对(键是string 值是Object)。在缓存文件夹里,只有一个. ES3文件,保存了整个游戏所有信息,对程序员来说更方便,且加密性更好...

2020-03-04 16:29:12 937

原创 C# 集合自定义排序 list.Sort ~~( ̄▽ ̄)"~~!

这个语法很恶心,经常忘记,网上找半天才能找到。一怒之下写道博客里,随时翻阅。 moveCells.Sort((a, b) => { if (Mathf.Abs(selfCell.x-a.x)<Mathf.Abs(selfCell.x-b.x)) { ...

2020-02-29 16:27:19 144

原创 Unity配置2D光照(2019新功能)

RoadLun原创,转载请声明unity2019版本新功能-----2D光照。相对于以前2D游戏的3D光照,效果更Nice,开销更低。 下面介绍如何配置2D光照。下图是我项目里,2D光照的效果,2D光照很强大,可以照射Spriter,还有自定义形状光照等强大功能。下面讲如何配置2D光照...

2020-01-13 13:58:59 2458

原创 Unity - 身体物理

身体物理是格斗游戏种常见的元素,《生或死》、《街霸》种都有身体物理的身影。本文将展示如何实现效果:实现方法:源码:附在动点上,动点也是骨骼顶点using System.Collections;using System.Collections.Generic;using UnityEngine;public class Wobbler : Mo...

2019-10-15 09:57:18 11961 3

原创 unity2D 碰撞/触发函数

碰撞void OnCollisionEnter2D(Collision2D collision)void OnCollisionExit2D(Collision2D collision)触发OnTriggerEnter2D(Collider collider)OnTriggerExit2D(Collider collider);

2019-09-12 15:18:01 873

原创 行为树的回调函数

behaviorDesign(行为树插件)的回调函数:OnAwake:树初始化的时候,类似MonoBehavior的Awake函数。如果树被激活了,多次遍历树,OnAwake只会执行一次。OnStart:当前Task第一次被执行的时候,默认返回成功,树每被遍历一次,OnStart最多执行一次。OnUpdate:只要执行到当前的Task,就会触发,跟MonoBehavior的Update...

2019-09-04 15:37:43 140

原创 超简单实用 的码云+Git教程 (GitGUI)

RoadLun原创,转载请声明本教程教会你如何使用码云和Git上传自己的项目。本教程非常简单!! 不用Github,而是选择码云,因为码云是中文的(码云Github可以互通)。使用GitGUI而不是GitBush,不用输入指令,点击鼠标即可完成。避免复杂的操作和指令,非常爽1.注册码云账号 https://gitee.com2.创建一个仓库(创建一个项目)点击新建仓库后跳转至如...

2019-09-03 11:17:03 1224

原创 一个轻便,易用的对象池工具

有很长时间没有写博客了,工作太忙。加上写一些简单的东西实在没有欲望。本文介绍一个轻便易用的对象池脚本。一个对象池需要向外界提供如下功能:1:从池里拿一个(几个)出来2:将一个(几个)没用的对象扔回池里让外界只关心两件事:从池里取和放回池里using System.Collections;using System.Collections.Generic;using Unit...

2019-06-19 09:23:42 118

原创 Unity面试经验(两天面六家,四个offer,济南)

本文仅为二线城市的Unity面试经验,求职环境与一线城市完全不同!!1.海投投简历用的app为Boss直聘,智联招聘,前程无忧,(boss直聘是没法投简历的,如果想投简历先跟人事打招呼,如果人事想看你的简历需要花十来块钱),boss回复速度最快,投递简历后有三家直接发来面试通知,面试期间又发来三家面试通知。济南这种二线城市,Unity职很容易碰上培训机构,在58同城上找工作,遇见那些打着”...

2019-02-25 10:38:25 11709 26

原创 Unity懒人福利————— 一键搭UI工具

RoadLun原创,转载请声明众所周知,搭UI是一件繁琐无聊枯燥乏味的事情,具本博主见闻,很多公司会招妹子程序员专门搭UI和UI相关的逻辑。设置每个UI的锚点和坐标真是一个繁重的工作。例如很多手游的某一个菜单栏下有许多子按钮,某天策划觉得这些按钮的间距太小,这时候就需要程序员挨个调整,十分头痛。博主在工作中也遇到这个问题,项目中的UI都是由旁边的妹子一个个修改,十分麻烦,所以博主写了一个一键搭...

2018-12-13 11:40:35 2068 2

原创 WebGL--------------持久化存储

出于安全原因,unity里很多功在WebGL是不可用的,比如System.Net.Sokcet,XML,外部设备的某些权限等等,本文的做法是WebGL调用javaScript,JS将数据存到Cookie里。什么是Cookie?  Cookie是网页的缓存,是网页用来存储数据的一种方式,比如清理电脑垃圾时“清理网页缓存”的选项就是清理Cookie,在登陆网页上的帐号时“保存密码”选项就是将密码存...

2018-11-28 10:45:45 839 1

原创 Hololens的Socket通信

写在最前面:我觉得现在做Hololens开发,整体的风气有一个很大问题,就是太浅,太上层,太依靠MRHoloTooklit,微软出的这一套SDK封装了很多功能,虽然好用,但是颇为上层,存在一些局限性,而且实现某些复杂功能时,会有额外的开销。Hololens终究是一款移动平台,性能的瓶颈还是挺明显的。所以摆脱MRTK(Mixed Reality Toolkit-Unity),直接用unity...

2018-11-19 15:35:04 3564 44

原创 [记录] Unity5.6.0f3 的 BUG-------FixUpdate中使用Time.DeltaTime

在FixUpdate中使用Time.DeltaTime,打印出来的值会变成TimeFixedTime,也就是FixUpdate执行的时间间隔,默认为0.02,例如:void FixUpdate(){DeBug.Log(Time.DeltaTime);} 打印出结果:  0.02...

2018-09-30 15:02:10 269

原创 [记录]Hololens开发之“Pin”按钮(点完之后同名应用再也无法打开)

今天开部署到Hololens上是,原本要删除一个应用,结果不小心点到了Pin按钮。然后重新安装了一个与删除的应用同名的新应用,结果打开之后是白色框框,光标变成月亮与睡眠符号“z”。然后一直等待。最后重新创建一个Unity工程,将原本的工程移植进去,重新导出UWP才可以正常打开UWP应用。总结:“这个pin按钮不要随便点”  后果很严重啊...

2018-09-26 18:17:19 642 1

原创 [记录]Hololens开发之某些功能在Unity上可用,部署到眼镜上失效

在用socket开发网络模块时,在用两台电脑传输完全ok,部署到hololens上时就没有反应。经过数天摸索。终于找到问题所在。在导出UWP时,PlayeringSetting > PublishSetting > Capability   这个选项是选择导出的UWP的某些功能的授权。常见的功能例如摄像机,网络通信,空间能力等都需要在勾选。否则导出的UWP是没有相应功能的,...

2018-09-25 18:28:28 934 3

原创 [记录]Hololens之Socket网络通信

我用HoloLens开发网络模块时,最初的做法是用.Net的System.Net.Scoekt中的UDP,想必这个方法是大多数开发者直接想到的方法。但是在导出时就出问题了,导出为UWP时,报错,大致是Socket库里缺少某个方法,还有我当时用的同步方法,所以自己写的的多线程,然后多线程也报错了:Thread库里缺少某个方法。在一番折腾之后,终于找到解决方法:socket中的某些方法是可用的,S...

2018-09-19 14:34:18 2601 1

原创 [记录] HoloLens调用摄像头后,拍摄到一片黑

在HoloLens上,开启摄像机后,拍摄画面,但是拍到一团黑,然后我将WebCamTex的尺寸和WebCameraDevices.Length打印到一个Text上打印出来显示:WebCameraTexture的宽和高都是16,WebCameraDdvices.Length为1,所以肯定是有外部摄像头的。然后我觉得是hololens的摄像机权限没开,然后我Setting里面的开摄像机权限,竟...

2018-09-19 14:32:03 1027

原创 [记录]hololens导出时报错 缺少命名空间“Windows.Devices.Haptics”

我在用Unity2017.2.1 配合holotoolkit2017.2.1时(也就是说版本是匹配的。问题没有出现在这里),出现三个报错:The type or namespace name 'Haptics' does not exist in the namespace 'Windows.Devices' (are you missing an assembly reference?)...

2018-09-12 15:53:46 671

原创 [记录]开发Hololens时Unity报错缺少UnityEngine.VR命名空间的问题

在Unity2017(包含)以后版本里,Unity自带的库类UnityEngine是没有VR这个库的,出现一个新的库类UnityEngine.XR,之前Unity版本的VR库归类到XR库里。所以我用较早的HoloTookit配合Unity2017版本时就会报错。解决方案:1.如果你当前的HoloTookit开发包版本较早,那么SDK内脚本引用的是UnityEngine.VR(下图),但...

2018-08-29 11:30:18 1567 1

转载 Unity Shader着色器优化

转载自:http://forum.china.unity3d.com/thread-32340-1-1.html 对游戏开发者而言,着色器长久以来就是游戏开发中的重要部分,在Unity中编写并实现着色器的过程直观且高效,优秀的着色器还可以创造非常精美的游戏画面,同时保证极高的性能。今天将由Unity的技术工程师张陈渊来分享如何对Unity Shader着色器进行优化。我们在Unity中创...

2018-08-24 16:31:14 359

原创 Dumix使用体验(Unity版)

Dumix是百度推出的AR解决方案,本文探讨Unity的DumixSDK使用体验功能支持 功能 安卓 iOS Mac Windows 单目slam √ √     2D跟...

2018-08-22 11:25:23 951

原创 [记录]Hololens部署时vs报错:缺少Win10SDK

在打包UWP后,用VS部署,报了一个缺少SDK“WindowsMobile  version 10.0.17134.0”的错误我以为是vs的win10sdk没有安装成功的错误,在qq群求助,百度之后,我反复卸载/安装/调试 vs2015和vs2017,结果还是没有解决。经过我反复修改分析,终于找到问题所在:我用的Unity版本是Unity5.6,因为国内很多Hololens开发者用的Uni...

2018-08-17 09:37:56 2285 7

原创 unity 点乘叉乘

点乘(也叫内积):a·b=|a|·|b|·<cos a,b>     表示向量a在向量b上的映射长度,是一个标量,如果是正的,则ab向量角度小于90,如果a·b<0 ,则ab向量夹角大于90度。  满足乘法交换律,即 a·b=b·a。 注:有两个向量 a(x1,y1,z1)   b(x2,y2,z2),a·b=x1·x2+y1·y2+z1·z2 叉乘(也叫外积):如图...

2018-07-31 18:51:57 639

转载 unity3D 运行时的三种内存

unity游戏开发中使用的三种内存:程序代码、托管堆、本机堆程序代码:包括unity开发引擎,使用的库,以及开发者写的代码。在编译后,得到的运行文件将会加载到设备中执行,并占用一定内存。这部分内存实际上是没办法管理的,会一直占用内存。 安卓会占用10mb ,ios会占用17mb,优化方式:导出时不导出没用到的库类(Insperctor选项),可以使用自己封装的库类代替官方库类。托管堆:存放...

2018-07-31 18:47:32 2066

转载 unity中的路径

1、http://www.manew.com/thread-23491-1-1.html2、http://www.xuanyusong.com/archives/2656  1.Resources路径Resources文件夹是Unity里自动识别的一种文件夹,可在Unity编辑器的Project窗口里创建,并将资源放在里面。Resources文件夹下的资源不管是否有用,全部会打...

2018-07-27 09:50:19 603

原创 Unity物理模拟——实时交互的流体表面

RoalLun原创 转载请声明效果:思路:首先,mesh是由顶点和三角面组成,所以改变顶点位置就可以改变mesh通过 GetComponent<MeshFilter>().sharedMesh.vertices可以获得一个Vecter3类型的集合,这就是mesh上的所有顶点遍历mesh的顶点,在每个mesh顶点位置生成一个球形碰撞体,如下图就有121个碰...

2018-07-25 17:30:32 7706

原创 lua dofile/require/loadfile 的区别

dofile: 加载lua文件并执行一次require:只执行一次,即使require两次相同的.lua文件也只会执行一次loadfile:加载lua文件,不执行

2018-07-23 11:20:37 148

原创 Shader——《真三国无双》城墙着火特效

《真三》与我不得不说的三两事  (ಡωಡ)《真三》系列在我心中有特殊的地位,小学五年级在姥姥家打开小舅的电脑,发现一款游戏(《真三》3),对于当时的我,从来没有玩过电脑游戏的我来说就像打开新世界的大门,在农村昏黄的白炽灯下,伴着鸡叫,我按下逐个键位尝试去操作,进入游戏后我化身关羽,在战场上任意厮杀。虽然游戏运行后非常卡(FPS极低,大概只有个位数),但对于初次接触电脑游戏的我来说,这简直太棒了...

2018-07-19 11:36:24 521

原创 C# 二进制储存二叉树信息

需求:某角色有八个装备(武器,头饰,衣服,裤子等共八个),每个装备只有两种情况:有或无。用最少的内存存储某个角色八个装备的装备情况,答:每个装备有两种情况,共八个装备,所以有2的8次方(256)种可能,可以用一个Byte来存储,0表示没有这个而装备,1表示有这个装备,例如  0000 0001,表示只有第一件装备, 0000 0000 表示任何装备都没有, 1111 1111 表示拥有所有装备。下...

2018-06-26 19:41:09 187

原创 C# 基本数据类型与字节流转换

联网游戏的信息传输都是以字节流(字节数组)形式传输数据,本文展示基本数据类型与字节流互相转换girl模型有四个信息,GetByteNets方法将信息转化为字节流,GetGirlFormNets()方法展示如何将字节流转化为信息using System;public class Girl{ byte sex; short height; float weight; ...

2018-06-25 21:26:35 674

原创 UGUI 给按钮添加有参点击事件

void Start{ GetComponent<Button>().onClick.AddListener(delegate() { this.TypeBarClick(new int[] {1,2,3}); });}void TypeBarClick(int[] a){        }如上,添加...

2018-06-21 12:00:00 381

原创 UGUI加载图集中的小图

Sprite[] array = Resources.LoadAll<Sprite>("Pic/Atlas 3"); GetComponent<Image>().sprite = array[102];

2018-06-19 15:17:03 1091

原创 unity UI框架

UI管理者类:包含全部子控件信息,给外加提供接口,以访问全部子控件UIBase类:通过UI管理者给子控件添加事件监听UIBehavior:给自身添加事件监听源码:UIManger:using System.Collections.Generic;using UnityEngine;public class UIManager : MonoBehaviour { private Ga...

2018-05-26 18:01:42 654

原创 c# 代理模式

//普通的Math类public class Math{ public int Add(int a ,int b) { return a + b; } public int Sub(int a,int b) { return a - b; }}//代理模式Math类public class ClassPr...

2018-05-25 09:39:50 112

转载 C#读写txt文件的两种方法

参考:C#读写txt文件的两种方法介绍using UnityEngine;using System.IO;using System.Text;public class ReadTxt : MonoBehaviour { //读取TXT方法一 //使用FileStream类进行文件的都需,并将他转换成char数组,然后输出 byte[] byData =...

2018-05-24 20:33:01 12802

原创 Unity 进程 线程 协程的关系

如图,一个应用可以看作一个进程,一个进程里可以有一个或多个线程,一个线程里可以有零个或多个进程1.为何要用协程?随时中断,实现伪并发单核CPU情况下用协程代替线程可减少CPU切换线程所用时间2.unity中的协程何时执行?参考:unity 协程原理与线程的区别...

2018-05-24 19:13:13 426

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