自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(27)
  • 资源 (5)
  • 收藏
  • 关注

原创 打印队列 UVA 12100

        一开始的思路是用两个队列,一个优先队列,一个普通的队列,普通队列的首元素与优先队列的首元素比较,元素不相同的话将普通队列的首元素移至最后,时间不消耗;如果相同,打印当前内容,时间+1分钟,同时移除首元素。结果证明不可行,因为优先队列中,优先级相同的情况下,不是按照输入的先后顺序排列的。下面是代码struct Node{ int p; string s; friend bo...

2018-05-29 11:27:06 575

原创 2000个灯泡

今天在早上醒来,脑子里蹦出1年半前的一道面试题,突然想出了答案。当时一个面试官问我,有2000个灯泡,从1号到2000号,都是亮着的,先都按下开关,然后再按下2好到2000的开关,再按下3号到2000号开关……,问最后有多少盏灯是亮的。当时也是入行不深,更别提会什么算法了,面试回来想了两天都没想出来,问了几个人也没解决。现在看来,很多以前认为很难的问题都特别的简单。随着时间的推移,有些问题都不

2017-12-22 11:24:56 312

转载 Unity中Debug的用法

UnityEngine.Debug:Class containing methods to ease debugging while developing a game.该类中包含了一些便于游戏开发时的调试方法。Class Variables isDebugBuildstatic var isDebugBuild : boolean

2017-12-20 17:21:17 8270

原创 UE4响应按键输入延迟效果

最新项目制作一个酒驾的项目,要求控制车辆前进,转向的时候,稍有延迟的效果,表示迟钝的意思。解决思路是创建一个数组,存储最近的按键输入,从数组一端加入数据,另一端取数据。数据的长度决定了延迟的时间。但是如果用常规的方案,每帧加入按键值时,后面的按键值进行互换,效率会比较低,所以做了以下改进以下是蓝图

2017-09-28 14:41:06 3150

原创 UE4场景太亮

运行游戏后场景太亮,可以设置自动曝光的最小和最大值,设置成相同的来解决找到相机上的选项,设置曝光属性如果场景太暗,还可以修改WorldSettings中的Lightmass属性

2017-09-15 17:43:46 13247

原创 EventTrigger触发3D物体事件

先编写如下脚本public class EventTriggerExample : MonoBehaviour{ void Start() { //UnityAction click =new UnityAction(MyClick); //EventTrigger.Entry myClick = new EventTrigger.Entry(

2017-05-15 18:20:26 1128

原创 实现足够大List<int>剔除重复的数字

static void Screen() { List newList=new List(); List list =new List(); for (int i = 1; i < 100000; i++) { list.Add(i%100); } int repetit

2017-04-24 11:40:52 987

原创 Unity3d中Input获取键的按下或者弹起,无法正确响应的问题

在项目中碰到这样一个问题,同事在FixedUpdate中处理当按下鼠标左键时,触发一个逻辑,例如: public void FixedUpdate() { if (Input.GetMouseButtonDown(0)) { Debug.Log("get mouse button down!");

2017-04-15 13:41:25 8696 2

原创 对象池GameObjectPool

上个飞机的项目,子弹太多的情况下,对象池插件效率比较低,今天没事就自己写了一个,感觉效率还行。使用方法简单,只需要在某个物体上挂在PoolManager脚本即可,就可以直接使用了,想再其他脚本中调用InitPrefab(GameObject prefab)提前生成池也可以,不调用也可以使用using UnityEngine;using System.Collections;using

2016-10-25 19:34:41 1055

原创 C#ThreadPool.QueueUserWorkItem实例

今天学习线程池的时候发现,网上能搜到的都是很久以前的文档了,大家都是照搬过去,有没有考证都是问题。经过测试结果已经和他们说的不一样了,比如 List actions = new List() { () => { Console.WriteLine("A-1"); }, () => { Conso

2016-10-25 15:28:02 6461

原创 写给自己部门的一个优化文档

接触优化,捣鼓了几天,然后负责人让我写个文档分享下。仅限内部使用,不具有通用性                                             美    术1 静态对象勾选static, 物体上的MeshCollider去掉,Animator组件。2 图片资源导入Unity后修改下Max size,在不失真的情况下,尽量的小,一般最大不要超过1024. 3

2016-10-21 15:13:32 776

原创 C++中栈和堆的区别及区分对象存储在堆或栈中的方法

刚开始学习C++,记录下点点滴滴,同时也分享下栈:函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元自动被释放,栈内分配运算内置于处理器的指令集中,效率高,但是分配的内存容量有限。堆:又称为动态内存分配,程序在运行的时候用new申请任意多少的内存,由程序员自己负责在何时用delete释放内存。动态内存的生存周期由我们决定,使用灵活,但是问题也比较多。刚

2016-10-20 11:19:15 3785 1

原创 FlyBoys优化过程10.8-10.16

项目优化进行了以下的处理1 引入对象池(对象池的插件底层做了修改,用链表存储在使用的和未使用的对象)2 脚本优化,耗时的逻辑进行了优化今天发现Draw call数依然很高,即使视野内只有飞机和子弹的情况下,Draw call依然可能达到5000,最后经过检查发现,子弹上的特效造成的。炮台也需要优化,顶点数居然有93K,以后美术提交的模型,最好都检查下用profiler查看需要优

2016-10-11 16:06:52 290

原创 对象池

这周VR做飞机的项目,子弹太多,用到对象池,用的是一个插件,但是发现一个问题,子弹数特别多的情况下,池里放了400个子弹,特效也特别多,结果发现一个问题,从池中取对象和对象回池用时太长,多的时候能达到2ms。最后查看了底层,发现一个问题,池中对象是用list存放的,每次移除的时候耗时太多,应该是这个原因造成的。为了验证这个问题,我自己写了一个对象池,思路大致是对的,没有写那么严谨,可以做个参考。最

2016-09-30 13:56:56 691

原创 Sort排序问题

C#封装的Sort()排序方法,必须实现IComparable接口才行,说的直白一点就是排序的时候需要知道是按什么排序的,通过比较什么排序的public class TestSort : MonoBehaviour { public List myList=new List(); void Start () { myList.Add(new MyClass

2016-09-27 15:50:17 525

转载 VR飞机项目2016/9/19-25获取按键输入(虚拟按键等)

通过虚拟摇杆控制飞机的左右上下,这次没有使用控制rotation上的xyz3个轴的值来实现,而是通过每帧增加一个增量来实现mainRot = this.transform.rotation;.AddRot.eulerAngles = new Vector3 (pitch, yaw, -roll);mainRot *= AddRot;transform.rotation = Quatern

2016-09-20 15:27:39 507

转载 Untiy内存加载和管理

最近一直在和这些内容纠缠,把心得和大家共享一下:Unity里有两种动态加载机制:一是Resources.Load,一是通过AssetBundle,其实两者本质上我理解没有什么区别。Resources.Load就是从一个缺省打进程序包里的AssetBundle里加载资源,而一般AssetBundle文件需要你自己创建,运行时动态加载,可以指定路径和来源的。其实场景里所有静态的对象也有

2016-09-07 17:37:45 272

转载 略谈GCHandle

我们在使用c#托管代码时,内存地址和GC回收那不是我们关心的,CLR已经给我们暗箱操作。但是如果我们在c#中调用了一个非托管代码,比如vc的DLL,而且他有个回调函数,需要引用c#中的某个对象并操作,这时候你就得要小心了。要是非托管代码中用到得托管代码那个对象被GC给回收了,这时候就会报内存错误。所以我们就要把那个对象“钉”住(pin),让它的内存地址固定,而不被垃圾回收掉,然后最

2016-09-06 15:08:24 4340 1

原创 VR眼镜连接到Untiy项目

今天自己尝试连接DK2眼镜,得到以下的结论,不一定全面,以后补充Untiy3D新项目,眼镜连不上去的原因分析:   1 看看是否勾选了Virtual Reality Supported   2 Graphics APIs for Windows 是否应用的正确,我们使用的是DK2,需要使用的是Direct3D11 及DX11.   3 Oculus驱动是否正确   4 显卡是否

2016-09-03 12:50:22 1825

原创 8月小结8/29--9/4Linq_回调产生GC*待解决

FlappyBird项目中,在控制鸟沿着贝塞尔曲线飞行的时候,FixedUpdate中有0.6K的GC产生,最后查到的结果的是使用了Linq语句造成的,List.Find方法,而且效率也不高,用时0.02ms。 对内存有要求的移动端可能会有影响,感觉尽量避免使用的为好,偶尔使用还可以,频繁使用还是换个算法的合适

2016-08-31 10:45:56 493

原创 readonly和const的区别

readonly为运行时常量,const为编译时常量编译时常量被运行时常量快,性能好,但缺乏灵活性(编译时常量需要重新编译应用程序); 编译时常量(const)仅限于数值和字符串(基元类型),C#不允许使用new来初始化一个编译时常量; const修饰的常量默认是静态的(类型); readonly修饰的字段可以在构造函数中被修改; 使用const较之使用readonly的好

2016-08-24 12:08:52 740

原创 周小结2016/8/22-8/28_Bezier

贝塞尔曲线:         项目要求让角色沿着几个点做平滑的移动,研究了下贝塞尔曲线,主要是求连续点的一个算法,知道公式的话,写成代码还是比较简单的,先从简单的入手,方便理解,我们先从俩个点入手,让对象从一个点到另一个点移动,先看代码using System;using UnityEngine;using System.Collections;[Serializable]pub

2016-08-23 15:50:47 234

原创 一周小结2016/8/15--21_Navmesh_事件回调

用NameshAgent寻路的时候,如果目标点不能到达的时候,想换个目标点的话,用agent.pathStatus来判断并不合适,可以用CalculatePath来事先判断,然后将得到的NavMeshPath交给agent即可               NavMeshPathpath=newNavMeshPath();       if(agent.Cal

2016-08-17 15:04:20 809

原创 怪物攻击角色时,UI上箭头执行怪物的方向

下面是插件的原码:using UnityEngine;using System.Collections;public class ArrowSet : MonoBehaviour{    public Texture arrow;    private Camera cam;    private float xCenter;    private float

2016-08-15 16:11:22 992

原创 一周小结2016.8.15

说说上周遇到的问题,优化方面主要是处理两个地方一,是将所有的obj.transform.parent=transform统一使用obj.SetParent(transform)        二,通信时候需要传递的数据不要每次都new一个数组,将这个数组声明成全局的来使用策划提出一个需求,人物回血的时候需要播放一个特效,发现一个问题,ParticleSystem.Play( )和Sto

2016-08-15 10:23:07 221

原创 我的成长—优化类(new数组)--2016.8.13

前几天接触到的优化,算是知道从哪里入手,代码方面今天值得记录的是:在PVP联网的时候,发送消息需要传递的数组不要每次都new,每次通信都产生了0.6MB的GC,会经常触发GC.Collect(); 可以申请一个全局的数组,来代替每次都new数组。

2016-08-13 11:54:44 219

原创 我的成长--优化(setparent)--2016.8.13

项目优化中遇到一个问题,在Untiy5.3版本中,使用了obj.transform.parent=tranform;在控制台出现了警告,特效耗时,需要修改为obj.SetParent(tranform),用Profiler测试的时候比较隐蔽,最终影响输出的就是这里了。当然打包的时候可以用Debug.logger.logEnabled = false进行屏蔽。

2016-08-13 11:45:37 454

Opencv for unity2.2.4版本

人脸识别强大插件 支持Unity 移动端 ,经测试可用,版本2.2.4

2018-12-06

Lua经典编程书籍三本

包括3种:1、Lua编程指南; 2、Lua程序设计_第二版_中文; 3、Programming in Lua, 2Nd Edition

2018-08-15

《计算机网络》第7版-谢希仁

《计算机网络》第7版-谢希仁 pdf,高清版,内容为网盘地址。

2018-06-15

CaronteFX- 一款插件搞定所有物理特效,好用的物理插件

模拟现实物理效果,包括布料等,附带文档,带有使用说明

2017-11-14

C++ Primer Plus(第6版)_带书签_高清完整版.pdf

[美] Stephen Prata 著;张海龙,袁国忠 译 享誉 C++ 神书之美名 文件大小:252 MB (264,464,953 字节) C++ Primer Plus(第6版).pdf

2017-11-01

空空如也

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

TA关注的人

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